@RequestParam 和@PathVariable的区别
时间: 2023-10-14 17:27:51 浏览: 96
@RequestParam和@PathVariable都是Spring MVC中用于获取请求参数的注解,但是它们的作用不同。
1. @RequestParam
@RequestParam用于从请求中获取一个参数的值,并将其绑定到一个方法的参数上。它可以用来获取GET、POST、PUT、DELETE等请求的参数。常用的属性有:
- value:参数名字,即入参的名称;
- required:是否必须,默认为true;
- defaultValue:默认值。
示例:
```
@GetMapping("/hello")
public String hello(@RequestParam("name") String name, @RequestParam(value = "age", required = false, defaultValue = "18") int age) {
return "Hello, " + name + ", you are " + age + " years old!";
}
```
上面的示例代码中,@RequestParam注解用于获取请求中的参数,其中"name"是必须的,"age"是可选的,如果不传递则默认为18。
2. @PathVariable
@PathVariable用于从请求的URL中获取一个变量的值,并将其绑定到一个方法的参数上。它常用于RESTful风格的API中。常用的属性有:
- value:变量名字,即入参的名称。
示例:
```
@GetMapping("/hello/{name}")
public String hello(@PathVariable("name") String name) {
return "Hello, " + name + "!";
}
```
上面的示例代码中,@PathVariable注解用于获取请求URL中的变量"name"的值。
综上所述,@RequestParam用于获取请求参数,@PathVariable用于获取请求URL中的变量,它们的作用不同。
阅读全文