首页 > 解决方案 > Micronaut 控制器中的默认处理程序

问题描述

我有一个 micronaut 控制器

...
@Controller("/**")
public class MainController {

  @Get(value="/path1")
  public HttpResponse handlePath1Get(HttpRequest<?> request) {

    .. do something ..
  }

  @Get(value="/path1/action1")
  public HttpResponse handlePath1Action1(HttpRequest<?> request) {

    .. do something else ..
  }
}

对这些特定端点的调用工作正常。

但是现在我要求所有路径(除了上面的特定路径)都需要委托给单个处理程序。有没有办法可以做到这一点?

我目前正在使用 Micronaut v1.1

标签: micronaut

解决方案


您可以定义一个包含保留字符的变量

  @Get(value="/{+path}")
  public HttpResponse handleAnyUri(String path) {

    .. do something else ..
  }

path请求的值/hello/world将是hello/world


推荐阅读