Spring中@PathVariable和@RequestParam注解的用法区别
前言
@PathVariable和@RequestParam的作用都是从请求里面获取参数,只是用法不同
- PathVariable:
- http://localhost:8080/testPathVariable/parm1/111111/parm2/222222
- RequestParam:
- http://localhost:8080/testRequestParam?id1=11111&id2=22222
@PathVariable
首先看一下代码以及响应结果:
请求路径url://localhost:8080/testPathVariable/parm1/111111/parm2/222222
代码:
@GetMapping("/testPathVariable/parm1/{id1}/parm2/{id2}")
public String testPathVariable(@PathVariable(value = "id1") String id,@PathVariable String id2) {
return "testPathVariable, param1:"+id+" , param2:"+id2;
}请求结果:

解析
@PathVariable用法: 请求路径采用 “/ 参数” 向后台传入参数 后台接收采用 {id1} 占位符形式的方式来接收请求参数
@PathVariable的参数:
- name: 与请求的具体哪个参数做绑定
- required: 参数是否必须 true or false
- value: 跟name一样的作用,与请求的具体哪个参数做绑定
@RequestParam
首先看一下代码以及响应结果:
请求路径://localhost:8080/testRequestParam?id1=11111&id2=22222
代码:
@GetMapping("/testRequestParam")
public String testRequestParam(@RequestParam(value = "id1") String id, @RequestParam String id2) {
return "testRequestParam, param1:"+id+" , param2:"+id2;
}
请求结果:

解析
@RequestParam用法: 请求路径采用的是形如 /testRequestParam?id1=11111&id2=22222 的形式
后台接收用@RequestParam注解,用value属性绑定参数接收
@RequestParam的参数:
- name: 与请求的具体哪个参数做绑定
- required: 参数是否必须 true or false
- value: 跟name一样的作用,与请求的具体哪个参数做绑定
- defaultValue:如果请求没有携带这个参数或者参数为空,采用默认值
异同点
相同点:都是从请求里面获取参数
不同点:@RequestParam多了一个defaultValue属性,用于处理请求没有这个参数的情况赋予一个默认值
@GetMapping("/testRequestParam")
public String testRequestParam(@RequestParam(value = "id1",required = false,
defaultValue = "paramdefault") String id, @RequestParam String id2) {
return "testRequestParam, param1:"+id+" , param2:"+id2;
}
到此这篇关于Spring中@PathVariable和@RequestParam注解的用法区别的文章就介绍到这了,更多相关@PathVariable和@RequestParam用法区别内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
- springboot中@RequestParam和@PathVariable区别
- SpringBoot中@PathVariable、@RequestParam和@RequestBody的区别和使用详解
- Spring中@RequestParam、@RequestBody和@PathVariable的用法详解
- Springboot中@RequestParam和@PathVariable的用法与区别详解
- @PathVariable、@RequestParam和@RequestBody的区别
- 方法参数属性params,@PathVariable和@RequestParam用法及区别
- @PathVariable和@RequestParam传参为空问题及解决
- 使用@pathvariable与@requestparam碰到的一些问题及解决
- 聊聊@RequestParam,@PathParam,@PathVariable等注解的区别
- Java中@PathVariable 和 @RequestParam的区别小结
相关文章
SpringBoot integration实现分布式锁的示例详解
常规项目都是采用Redission来实现分布式锁,进行分布式系统中资源竞争加锁操作,偶然发现SpringBoot中的integration也实现多种载体的分布式锁控制,下面我们就来看看具体实现方法吧2023-12-12
Spring Boot 自定义 Shiro 过滤器无法使用 @Autowired问题及解决方法
这篇文章主要介绍了Spring Boot 自定义 Shiro 过滤器无法使用 @Autowired问题及解决方法 ,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下2019-06-06


最新评论