我正在尝试构建一个请求过滤器,只有当它符合字母e,然后一个数字的模式时才会使用.但是我似乎无法让它工作.每次尝试使用正则表达式时,我都会收到400个错误.
如果我只是使用以下它“工作”,但也捕获没有我不想要的数字的映射.
@RequestMapping(value = "e{number}",method = RequestMethod.GET)
我已经尝试了以下组合.
@RequestMapping(value = "e{number}",params = "number:\\d+",method = RequestMethod.GET) @RequestMapping(value = "e{number:\d+}",method = RequestMethod.GET) @RequestMapping(value = "/e{^\\+?\\d+\$}",method = RequestMethod.GET) @RequestMapping(value = "/{^\\e+?\\d+\$}",method = RequestMethod.GET)
解决方法
根据
the documentation,你必须使用像{varName:regex}这样的东西.甚至有一个例子:
@RequestMapping("/spring-web/{symbolicName:[a-z-]+}-{version:\\d\\.\\d\\.\\d}{extension:\\.[a-z]+}") public void handle(@PathVariable String version,@PathVariable String extension) { // ... } }