Micronaut控制器中的默认处理程序
我有一个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
...
@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
的请求将命中第一个,所有其他请求将命中第二个