@PathVariable和@RequestParam注解用法区别

tech2026-01-08  2

文章目录

@PathVariable首先看一下代码以及响应结果:解析 @RequestParam首先看一下代码以及响应结果:解析 异同点 @PathVariable和@RequestParam的作用都是从请求里面获取参数,只是用法不同 PathVariable: http://localhost:8080/testPathVariable/parm1/111111/parm2/222222 RequestParam: http://localhost:8080/testRequestParam?id1=11111&id2=22222

@PathVariable

首先看一下代码以及响应结果:

请求路径url:http://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 falsevalue: 跟name一样的作用,与请求的具体哪个参数做绑定

@RequestParam

首先看一下代码以及响应结果:

请求路径:http://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 falsevalue: 跟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; }

最新回复(0)