1. 程式人生 > >Spring MVC 接收多個實體參數

Spring MVC 接收多個實體參數

方法 history pin business logs 實體 log more 2個

在SpringMVC 的接收參數中,如果接收一個實體對象,只需要在方法參數中這樣做:@RequestBody User user

//單個的時候這樣接收 
@RequestMapping(value = "/user/default/save",method = RequestMethod.POST)
    public ResponseBasicBean saveUserAndMore(@RequestBody User  user) {
        return null;
    }

 //批量的時候這樣接收
    @RequestMapping(value = "/user/job/save",method = RequestMethod.POST)
    
public ResponseBasicBean saveUserJob(@RequestBody List<UserJobHistory> jobs) { return userBusinessService.saveUserJob(jobs); }

但是如果是接收2個不同的對象,怎麽做呢?如果直接 [email protected] User user,@RequestBody Person person

這樣會報錯400;而解決辦法是 新建一個類Human,裏面有2個屬性,分別是user和person,以及getter setter方法;

然後前端提交json數據的時候,需要加上一個嵌套{"user":{"id":1,"name":"ding"},"person":{"id":2,"sex":2}}

最後在後臺方法參數裏面直接用 @RequestBody Human human ,這個human對象裏面的2個屬性就都有賦值

Spring MVC 接收多個實體參數