原文地址 https://docs.spring.io/spring/docs/current/spring-framework-reference/html/mvc.html
带有正则表达式的URL地址
有的时候你需要精确的定义URL变量,考虑一下这个URL
"/spring-web/spring-web-3.0.5.jar"
,如何分解为多个部分?
@RequestMapping
注解支持在URL地址中
使用正则表达式变量,语法是
{varName:regex}
第一部分定义了变量的名称,第二部分定义了正则表达式,例如:
@RequestMapping("/spring-web/{symbolicName:[a-z-]+}-{version:\\d\\.\\d\\.\\d}{extension:\\.[a-z]+}") public void handle(@PathVariable String version, @PathVariable String extension) { // ... }
URI Template Patterns with Regular Expressions
Sometimes you need more precision in defining URI template variables. Consider the URL "/spring-web/spring-web-3.0.5.jar"
. How do you break it down into multiple parts?
The @RequestMapping
annotation supports the use of regular expressions in URI template variables. The syntax is {varName:regex}
where the first part defines the variable name and the second - the regular expression. For example:
@RequestMapping("/spring-web/{symbolicName:[a-z-]+}-{version:\\d\\.\\d\\.\\d}{extension:\\.[a-z]+}") public void handle(@PathVariable String version, @PathVariable String extension) { // ... }