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使用filter对response内容进行加密方式
这篇文章主要介绍了Springboot使用filter对response内容进行加密方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2022-03-03详解SpringBoot的三种缓存技术(Spring Cache、Layering Cache 框架、Alibaba J
这篇文章主要介绍了SpringBoot的三种缓存技术,帮助大家更好的理解和学习springboot框架,感兴趣的朋友可以了解下2020-10-10
最新评论