Micronaut控制器中的默认处理程序

Micronaut控制器中的默认处理程序,micronaut,Micronaut,我有一个micronaut控制器 ... @Controller("/**") public class MainController { @Get(value="/path1") public HttpResponse handlePath1Get(HttpRequest<?> request) { .. do something .. } @Get(value="/path1/action1") public HttpResponse handl

我有一个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 ..
  }
}
。。。
@控制器(“/**”)
公共类主控制器{
@获取(value=“/path1”)
公共HttpResponse handlePath1Get(HttpRequest请求){
做点什么。。
}
@获取(value=“/path1/action1”)
公共HttpResponse HandlePath1操作1(HttpRequest请求){
……做点别的。。
}
}
对这些特定端点的调用工作正常

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


我目前正在使用Micronaut v1.1

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

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

    .. do something else ..
  }

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

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

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

    .. do something else ..
  }

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

谢谢。但是,我可以在同一个控制器(单独的处理程序)中使用@Get(value=“/path1”)和@Get(“/{+path}”)吗?会有解决冲突吗?不会有解决冲突。对
/path1
的请求将命中第一个,而所有其他请求将命中第二个。但是,我可以在同一个控制器(单独的处理程序)中使用@Get(value=“/path1”)和@Get(“/{+path}”)吗?会有解决冲突吗?不会有解决冲突。对
/path1
的请求将命中第一个,所有其他请求将命中第二个