在 Spring MVC 休息服务上,我在尝试匹配超出我配置的 RequestMapping 值的任何内容时遇到问题。
所以例如我有这个:
@RequestMapping(value = "{configKey}/{arguments:.*}", method = RequestMethod.GET)
这表示匹配超出第二个路径变量的任何内容。问题是这个例如适用于:
get("/test/document")
而这以 404 结束:
get("/test/document/download")
奇怪的是 Spring 不能处理这个正则表达式。我实际上尝试了很多解决方案,但都没有奏效。
以前我在 JAX-RS 上有这个配置:
@Path("/{configKey}/{arguments:.*}")
一切都很好,但现在我正在迁移并遇到这个问题。
有谁知道发生了什么以及如何解决这个问题?
编辑:
添加{configKey}/**
- 不起作用
添加{configKey}/{arguments}/**
作品,但例如如果我打电话:
get("/test/document/download")
我只得到test
我的配置键和document
参数。在论点中,我希望得到所有超出{configKey}
. 这可以是任何东西,例如它应该在任何情况下都可以工作:
get("/test/document")
get("/test/document/download")
get("/test/document/download/1")
get("/test/document/download/1/2")
get("/test/whatever/xxx/1/2/etc")
正在使用 JAX-RS 的配置:@Path("/{configKey}/{arguments:.*}")