当前位置: 代码迷 >> java >> Spring URI模式。 在正则表达式路径中使用斜杠
  详细解决方案

Spring URI模式。 在正则表达式路径中使用斜杠

热度:86   发布时间:2023-07-31 11:25:17.0

我想在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个路径段内。

您可能正在寻找的是类似

@GetMapping(path = "/**/endpoint")

**将允许跨多个路径段的任何字符。

这将允许[主机]中以/endpoint结尾的任何有效路径。如果您需要将其限制为某些字符(如[az] ,则应该使您走在正确的轨道上。

  相关解决方案