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用法区别内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
Spring中使用LocalDateTime、LocalDate等参数作为入参
这篇文章主要介绍了Spring中使用LocalDateTime、LocalDate等参数作为入参,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2019-12-12springboot 去掉netflix 禁用Eureka的解决方法
这篇文章主要介绍了springboot 去掉netflix 禁用Eureka的解决方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2023-09-09springboot集成redis并使用redis生成全局唯一索引ID
本文主要介绍了springboot集成redis并使用redis生成全局唯一索引ID,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下2022-03-03
最新评论