java - Spring Controller 中的正则表达式

标签 java regex spring spring-mvc routes

我正在尝试构建一个请求过滤器,该过滤器只有在匹配字母 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 - Spring Controller 中的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18422368/

相关文章:

javascript - 正则表达式在到达时停止检测链接

java - Android 注释 - 注入(inject)父类(super class)类型列表

java - 如何在 Spring boot 应用程序中配置 servlet init-param

java - Android 库 zip

java - 正则表达式:捕获两个单词之间的单词

java - BoxLayout 无法共享错误,尝试将两个 JPanel 放入 JFrame 中

javascript - 从字符串中查找 3 个单词

java - 并发运行 spring 框架事务更新错误数据

Java.beans.Introspector.getBeanInfo() 无法分配 writeMethods

java - 从 WEB-INF/lib 而不是 tomcat/lib 加载 JDBCRealm 驱动程序 jar