java – 正则表达式在弹簧控制器

前端之家收集整理的这篇文章主要介绍了java – 正则表达式在弹簧控制器前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试构建一个请求过滤器,只有当它符合字母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) {
    // ...
  }
}

猜你在找的Java相关文章