在 Spring MVC 中,@RequestParam, @PathVariable, 和 @RequestBody 是用来处理 HTTP 请求的不同类型的参数的注解。下面是它们之间的区别以及各自的使用场景:
1:@PathVariable
这个注解用于从 URL 路径中提取动态部分的值。
它通常与 {} 占位符一起使用,这些占位符定义了路径中的变量部分。
示例:
@GetMapping("/users/{id}")
public User getUser(@PathVariable String id) {
// 根据路径中的 "id" 获取用户信息
}
2:@RequestParam
用于获取 URL 查询字符串中的参数或 POST 表单数据中的参数。
如果一个方法参数没有被其他注解(如 @PathVariable 或 @RequestBody)标记,则默认情况下它会被认为是 @RequestParam。
示例:
@GetMapping("/search")
public List<User> searchUsers(@RequestParam("query") String query) {
// 使用查询参数 "query" 进行搜索
}
3:@RequestBody
用于将 HTTP 请求体中的内容绑