@RequestBody接收多个对象
时间: 2023-10-06 10:13:40 浏览: 172
@RequestBody注解用于接收请求体中的内容,并将其转换为指定的对象类型。通常情况下,@RequestBody只能接收一个对象。如果需要接收多个对象,可以使用以下方法之一:
1. 将多个对象封装到一个更大的对象中,然后使用@RequestBody接收该对象。例如,可以创建一个包含多个对象的DTO类,并在控制器方法中使用@RequestBody接收该DTO对象。
示例:
```java
public class RequestDTO {
private User user;
private Address address;
// 省略构造方法和getter/setter
}
@RestController
public class TestController {
@RequestMapping("/myqxin")
@ResponseBody
public ReturnResult test(@RequestBody RequestDTO requestDTO) {
// 处理接收到的对象
return new ReturnResult();
}
}
```
2. 使用@RequestParam和@RequestBody组合来接收多个对象。可以将多个@RequestBody参数与@RequestParam参数结合使用,以接收多个对象。
示例:
```java
@RestController
public class TestController {
@RequestMapping("/myqxin")
@ResponseBody
public ReturnResult test(@RequestBody User user, @RequestParam("address") Address address) {
// 处理接收到的对象
return new ReturnResult();
}
}
```
阅读全文