我正在尝试使用请求映射器来匹配这样的网址:
http://localhost:9999/si/configs/some/path/on/the/server/file.xml
我有一个这样设置的控制器,但是该RequestMapping
方法的findConfig
值不正确。这是我的代码(去掉所有无关的东西):
@Controller
@RequestMapping("/si/configs")
public class SIController {
@RequestMapping(value = "{path:/**/*.xml}", method = RequestMethod.GET)
public ResponseEntity<String> findConfig(@PathVariable("path") String path) {
// value of path arg should be: "/some/path/on/the/server/file.xml"
}
}
我知道 Spring 允许在路径匹配字符串中使用正则表达式,并且我尝试遵循这个问题的建议:Spring URI Template Patterns with Regular Expressions,但我似乎无法正确理解。
请求映射中应该包含什么?
编辑
当我删除路径变量并使用以下内容时:
@RequestMapping(value = "/**/*.xml", method = RequestMethod.GET)
public ResponseEntity<String> findConfig() {
}
我的控制器方法按预期调用。因此,尝试将路径变量与 spring 不喜欢的野生 crad 进行匹配是有一些事情的。