Spring MVC 路径匹配

24 篇文章 0 订阅
17 篇文章 0 订阅

URI模式
1. ? 匹配一个字符
2. * 匹配路径段中的零个或多个字符
3. ** 匹配零个或多个路径段

URI变量并通过以下方式访问它们的值@PathVariable:

@GetMapping("/owners/{ownerId}/pets")
public Pet findPet(@PathVariable Long ownerId) {
    // ...
}

可以在类和方法级别声明URI变量:

@Controller
@RequestMapping("/owners/{ownerId}")
public class OwnerController {

    @GetMapping("/pets/{petId}")
    public Pet findPet(@PathVariable Long ownerId, @PathVariable Long petId) {
        // ...
    }
}

URI变量默认支持 int long Date简单类型 ,会自动的转换为合适的类型或者引发TypeMismatchException

其他类型支持请 你可以注册任何其它数据类型的支持。请参阅类型转换和DataBinder。

用正则表达式语法声明一个URI变量{varName:regex}
例如:给定的URL “/spring-web-3.0.5 .jar”,下面的方法提取名称,版本和文件扩展名:

@GetMapping("/{name:[a-z-]+}-{version:\\d\\.\\d\\.\\d}{ext:\\.[a-z]+}")
public void handle(@PathVariable String version, @PathVariable String ext) {
    // ...
}

URI路径模式也可以嵌入${…​}占位符,这些占位符在启动时通过PropertyPlaceHolderConfigurer本地,系统,环境和其他属性源来解析。这可以用于例如基于某些外部配置参数化基本URL。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值