@requestparam注解与@Pathvariable注解的区别
时间: 2024-06-08 07:07:00 浏览: 8
`@RequestParam` 和 `@PathVariable` 注解是 Spring MVC 中常用的两个注解,它们的作用都是用来获取请求参数的值。它们的区别如下:
1. `@RequestParam`:用于获取请求参数的值,可以将请求参数绑定到方法的入参中。
2. `@PathVariable`:用于获取 Restful 风格的 URL 中的参数值,可以将 URL 中的参数绑定到方法的入参中。
举个例子:
如果请求 URL 为:`http://localhost:8080/user?id=1&name=Tom`,则可以使用 `@RequestParam` 来获取参数值,示例如下:
```java
@RequestMapping("/user")
public String getUser(@RequestParam("id") int id, @RequestParam("name") String name) {
// ...
}
```
如果请求 URL 为:`http://localhost:8080/user/1`,则可以使用 `@PathVariable` 来获取参数值,示例如下:
```java
@RequestMapping("/user/{id}")
public String getUser(@PathVariable("id") int id) {
// ...
}
```
总之,当需要获取 URL 中的参数值时,应该使用 `@PathVariable` 注解;当需要获取请求参数的值时,应该使用 `@RequestParam` 注解。