Java 如何将任何路径级别的扩展与SpringMVC相匹配?
我需要一个只匹配任何路径级别的图像的请求映射器 例如,它必须匹配Java 如何将任何路径级别的扩展与SpringMVC相匹配?,java,regex,spring,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://l
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.jpg
或http://localhost:8080/anypathlevelNtimes/
图/filename.jpg
它如何能与所有路径级别和文件扩展名匹配是唯一的图像
编辑:现在可以了
@RequestMapping(value = {"/**/{extension:(?:\\w|\\W)+\\.(?:jpg|bmp|gif|jpeg|png|webp)$}"}, method = RequestMethod.GET)
提议的解决办法:
所以你的问题就解决了。你应该回答你的问题并接受它,这样它就不再显得没有答案了。
@RequestMapping( //
value = {"/**/{extension:(?:\\w|\\W)+\\.(?:jpg|bmp|gif|jpeg|png|webp)$}"}, //
method = RequestMethod.GET //
)
@RequestMapping("/spring-web/{symbolicName:[a-z-]+}-{version:\\d\\.\\d\\.\\d}{extension:\\.[a-z]+}")
public void handle(@PathVariable String version, @PathVariable String extension) {
// ...
}