专业编程基础技术教程

网站首页 > 基础教程 正文

SpringBoot的Restful的请求路径参数@PathVariable注解的使用

ccvgpt 2025-03-02 16:22:10 基础教程 13 ℃

1. 介绍

1.1 介绍

大家都知道RESTFul风格的接口的URI路径和普通的接口是不一样的,根据RESTFul的规范请求的URI路径里需要指向一个具体的资源(Resource),这个URI路径里面可以包含资源版本(Version)和参数(Parameter),那么我们在实现RESTFul接口功能的时候就需要去从URI路径里面提取资源信息以及版本和参数了。

SpringBoot的Restful的请求路径参数@PathVariable注解的使用

SpringBoot框架提供了一个简单的方法来提取URI路径里面的版本和参数,它通过@PathVariable注解来实现,今天福哥就带着童鞋们学习如何使用@PathVariable来获取URI路径里面的版本和参数。

2. 教程

2.1 规范

设置@PathVariable的方法就是在Mapping地址里面通过{xxx}来设置采集参数,然后在映射方法声明里面通过@PathVariable注解将采集到的参数数值的参数赋值给映射方法的参数上面。

2.2 整段

将URI的一级目录名称作为参数。

@RequestMapping("/net.tongfu.path-variable/{version}/user/{user}")
public?Map?pathVariable1(
????????@PathVariable("version")?Float?version,
????????@PathVariable("user")?String?user
){
????Map?map?=?new?LinkedHashMap<>();

????map.put("version",?version);
????map.put("user",?user);

????return?map;
}

2.3 右匹配

将URI的一级目录名称的右边部分作为参数。

@RequestMapping("/net.tongfu.path-variable/user/tf-{userID}")
public?Map?pathVariable2(
????????@PathVariable("userID")?Integer?userID
){
????Map?map?=?new?LinkedHashMap<>();

????map.put("userID",?userID);

????return?map;
}

2.4 中间匹配

将URI的一级目录名称的中间部分作为参数。

@RequestMapping("/net.tongfu.path-variable/user/tfu{userName}data")
public?Map?pathVariable3(
????????@PathVariable("userName")?String?userName
){
????Map?map?=?new?LinkedHashMap<>();

????map.put("userName",?userName);

????return?map;
}

3. 总结

其实我们通过在Mapping里设置{xxx}模板参数后,系统在用户请求到达后就会通过正则表达式对URI路径进行匹配,然后将匹配到的参数数值赋值给映射方法的参数,我们就可以使用了!


https://tongfu.net/home/35/blog/513583.html

最近发表
标签列表