@RequestParam,@RequestBody的含义和不同
时间: 2024-01-27 17:15:29 浏览: 28
@RequestParam和@RequestBody是Spring Boot中用于接收请求参数的注解,它们的含义和用法有所不同。
1. @RequestParam注解用于从请求的URL中获取参数值。它可以指定参数的名称和默认值,并且可以将参数值转换为指定的数据类型。例如,在下面的代码中,使用@RequestParam注解获取URL中的token和accountId参数的值:
```java
@GetMapping(value = "test1")
@ResponseBody
public String test1(@RequestParam(value = "token") String token, @RequestParam(value = "accountId") String accountId) {
System.out.println("token: " + token + "\naccountId" + accountId);
return "hello world";
}
```
2. @RequestBody注解用于将请求体中的数据绑定到方法的参数上。它可以将请求体中的JSON数据转换为指定的实体类对象。例如,在下面的代码中,使用@RequestBody注解将请求体中的JSON数据封装为Person对象:
```java
@PostMapping(value = "test3")
@ResponseBody
public String test3(@RequestBody Person person) {
return person.toString();
}
```
总结:
- @RequestParam用于获取URL中的参数值。
- @RequestBody用于将请求体中的数据转换为对象。