Spring中@PathVariable和@RequestParam注解的用法区别
作者:Ruby丶彬
这篇文章主要介绍了Spring中@PathVariable和@RequestParam注解的用法区别,@PathVariable 是 Spring 框架中的一个注解,用于将 URL 中的变量绑定到方法的参数上,它通常用于处理 RESTful 风格的请求,从 URL 中提取参数值,并将其传递给方法进行处理,需要的朋友可以参考下
前言
@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用法区别内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!