首页 > 编程笔记 > Java笔记 阅读:20

Sprint Boot中匹配URL路径的2种方法

Spring Boot 支持 URL 路径匹配,接下来介绍两种实现方法,分别是精确匹配和通配符匹配。

精确匹配

@RequestMapping 的 value 属性用于匹配 URL 映射,value 支持简单表达式:
@RequestMapping("/getDataById/{id}")
public String getDataById(@PathVariable("id") Long id) {
    return "getDataById:"+id ;
}
在上面的示例中,@PathVariable 注解作用在方法参数中,用于表示参数的值来自 URL 路径。如果 URL 中的参数名称与方法中的参数名称一致,则可以简化为:
@RequestMapping("/getDataById/{id}")
public String getDataById(@PathVariable Long id) {
    return "getDataById:"+id ;
}
在上面的示例中,当在浏览器中访问 /getDataById/1 时,会自动映射到后台的 getDataById 方法,传入参数 id 的值为 1。

通配符匹配

@RequestMapping 支持使用通配符匹配 URL,用于统一映射某些 URL 规则类似的请求,示例代码如下:
@RequestMapping("/getJson/*.json")
public String getJson() {
    return "get json data";
}
在上面的示例中,当在浏览器中请求 /getJson/a.json 或者 /getJson/b.json 时都会匹配到后台的 Json 方法。

@RequestMapping 的通配符匹配非常简单实用,支持“*”“?”“**”等通配符。使用时需要了解通配符的匹配规则,否则容易出错。通配符匹配规则如下:

相关文章