Spring MVC 接收多个实体参数

Posted 戴眼镜的蚂蚁

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring MVC 接收多个实体参数相关的知识,希望对你有一定的参考价值。

在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个不同的对象,怎么做呢?如果直接 写2个@RequestBody 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 接收多个实体参数的主要内容,如果未能解决你的问题,请参考以下文章

Spring MVC 之请求处理方法可接收参数

spring mvc 接收参数方式

spring mvc接收参数方式,json格式返回请求数据

spring mvcspring mvc接收单个参数

Spring MVC框架学习 ---- 传递参数

ajax提交数据,spring Mvc按照单个参数接收