java - 如何将任何路径级别的扩展与 Spring MVC 匹配?

标签 java regex spring spring-mvc

我需要一个只匹配任何路径级别的图像的请求映射器。

比如必须匹配;

http://localhost:8080/filename.jpg
http://localhost:8080/figs/filename.jpg

我尝试了正则表达式和非正则表达式的方式;

@RequestMapping(value = "{reg:(?:\\w|\\W)+\\.(?:jpg|bmp|gif|jpeg|png|webp)$}", method = RequestMethod.GET)

但是,它匹配 http://localhost:8080/filename.jpg 但不匹配 http://localhost:8080/figs/filename.jpghttp://localhost:8080/anypathlevelNtimes/ 无花果/文件名.jpg

它如何匹配所有路径级别并且文件扩展名只是图像。

编辑:现在可以了

@RequestMapping(value = {"/**/{extension:(?:\\w|\\W)+\\.(?:jpg|bmp|gif|jpeg|png|webp)$}"}, method = RequestMethod.GET)

最佳答案

OP提出的解决方案:

@RequestMapping( //
       value  = {"/**/{extension:(?:\\w|\\W)+\\.(?:jpg|bmp|gif|jpeg|png|webp)$}"}, //
       method = RequestMethod.GET //
)

关于java - 如何将任何路径级别的扩展与 Spring MVC 匹配?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24721002/

相关文章:

java - 情境使用 : Run tasks in ForkJoinPool vs. new Thread

java - 只获取相同的udp数据包

java - 如何对同步代码进行单元测试

javascript - 使用正则表达式而不创建正则表达式对象 - JavaScript

java - 帮助 java 正则表达式

spring - 如何使日志组件在整个 Spring Boot 应用程序中可见

java - 一个java代码在两台不同的电脑上表现不同

Java/Scala 提取电子邮件和格式为 email[delimiter]string 的字符串

java - 使用 MockMvc Http Status 错误测试 @ControllerAdvice

java - 为什么外部(库)属性文件需要 placeholderPrefix?