Spring MVC 接收多個實體參數
阿新 • • 發佈:2017-08-11
方法 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 接收多個實體參數