@PathVariable跟@RequestBod、@RequestParam的区别使用
时间: 2023-07-10 22:34:51 浏览: 76
`@PathVariable`、`@RequestBody`和`@RequestParam`是Spring MVC中常用的三种注解,它们都可以用于获取HTTP请求中的参数,但是它们之间有着不同的使用场景和区别。
`@PathVariable`用于获取URL路径中的参数,例如:
```java
@GetMapping("/users/{userId}")
public User getUserById(@PathVariable Long userId) {
// ...
}
```
在上面的示例中,`@PathVariable`注解用于获取URL路径中的`userId`参数。
`@RequestBody`用于获取请求体中的参数,例如:
```java
@PostMapping("/users")
public User createUser(@RequestBody User user) {
// ...
}
```
在上面的示例中,`@RequestBody`注解用于获取HTTP请求的请求体中的`User`参数。
`@RequestParam`用于获取查询参数或表单参数中的参数,例如:
```java
@GetMapping("/users")
public List<User> getUsers(@RequestParam String name) {
// ...
}
```
在上面的示例中,`@RequestParam`注解用于获取HTTP请求的查询参数中的`name`参数。
总之,`@PathVariable`用于获取URL路径中的参数,`@RequestBody`用于获取请求体中的参数,`@RequestParam`用于获取查询参数或表单参数中的参数。
阅读全文