首页 > 解决方案 > 是否可以在@RequestBody 中传递多个对象?

问题描述

是否可以在@RequestBody 中传递多个对象?

我需要它来摆脱自行车发明并创建实用程序类。

标签: javaspringrestspring-mvc

解决方案


在这里,我假设您想在单个 responsebody 响应中发送两个类对象。

在控制器中创建一个类似于两个实体的附加内部类

static class UserAndProfile {
    public UserProfile userprofile;
    public User user;
}
and then your request mappings would resemble

@RequestMapping(value = "/user", method = RequestMethod.GET)
public @ResponseBody UserAndProfile user()  {
    UserAndProfile userAndProfile = new UserAndProfile();
    userAndProfile.userprofile = ...
    userAndProfile.user = ...
    return userAndProfile;
}

@RequestMapping(value = "/user", method = RequestMethod.POST)
public Object user(@RequestBody UserAndProfile userAndProfile) {
    ...
}

推荐阅读