问题描述
我想在uri模式中使用正则表达式创建带有动态uri的enpoint。
URI模板: [主机] / {regexpart} /端点
动态uri的示例:
- [主机] /一个/端点
- [主机] / B /端点
我也想在uri路径的正则表达式部分中使用斜杠,如下所示:
- [主机] / A / B /端点
- [主机] / A / B / C / d /端点
我有这样的要求:
@GetMapping(path = "/{regexpart:[a-z/]*}/endpoint")
public DeferredResult<ResponseEntity<?>> enpoint(@PathVariable("regexpart") String regexpart) {
// Some logic
}
但这不起作用。 有没有办法定义正则表达式以在其中使用斜杠? 谢谢!
1楼
编写方式,正则表达式模式限制在1个路径段内。
您可能正在寻找的是类似
@GetMapping(path = "/**/endpoint")
**
将允许跨多个路径段的任何字符。
这将允许[主机]中以/endpoint
结尾的任何有效路径。如果您需要将其限制为某些字符(如[az]
,则应该使您走在正确的轨道上。