首页 > Web开发 > 详细

注解@requestBody自动封装复杂对象 (成功,自己的例子封装的不是一个复杂对象,只是一个简单的User对象,将jsp页面的name转成json字符转,再用JSON.stringify()传参就行了)

时间:2019-05-31 16:53:12      阅读:376      评论:0      收藏:0      [点我收藏+]

注意:ajax向后台传值的时候,必须加上contentType:"application/json";

springmvc的注解@requestBody可以通过页面提交json来自动封装成bean对象,但是如果这样的怎么处理

public class User{
    private String id;
    private int age;
    private String name;
    private Class classInfo;
    //getter,setter
}
public class ClassInfo{
    private String id;
    private name;
    private User classMaster;
    private School school;
    @JsonIgnore
    private Set<User> teachers;
    //getter,setter
    
}
public class School{
    private String id;
    private String name;
    //getter,setter
}

我封装的json对象是

"classInfo":{
    "id":"xxxxx",
    "name":"一年级三班",
    //班主任
    "classMaster":{
        "id":"xxxx",
        "age":"92",
        "name":"班主任"
    },
    //学校
    "school":{
        "id":"xxx",
        "name":"旭日东升小学"
    },
    //教师集合
    "teachers":[
        {
             "id":"xxxx",
            "age":"92",
            "name":"语文老师"
        },
        {
             "id":"xxxx",
            "age":"92",
            "name":"数学老师"
        }
    ]
}

提交的时候data : JSON.stringify(classInfo)
这样的班级里面包含了班主任,教师集合,还有学校,后台是这样的

 
@requestMapping("xxxx")
@responseBody
public Map<String,Object> addClass(Model model, @requestBody ClassInfo classInfo){
    xxxx
}

注解@requestBody自动封装复杂对象 (成功,自己的例子封装的不是一个复杂对象,只是一个简单的User对象,将jsp页面的name转成json字符转,再用JSON.stringify()传参就行了)

原文:https://www.cnblogs.com/mark5/p/10955483.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!