您的位置:首页 > 编程语言 > Java开发

springmvc接收复杂类型的json数据需要注意的地方

2017-12-15 13:59 411 查看
1.如果接收的是普通的数据类型或者单对象

后端的方法上面什么也不需要处理,只需要将对象放入到参数上面就可以了

2.如果接收的是复杂类型

例如对象里面还包含对象或者是集合等,后端的方法参数上面只需要加上@RequestBody即可,但是还没有完,前端传递的时候需要加上contentType:application/json

好了,栗子来了:

实体类:

public class SignUpSave {

private Integer taskID;
private Integer skillID;
List<SignUpSave.Data> equipment = new ArrayList<SignUpSave.Data>();
/*...*/
public static class Data{
private Integer equipmentDetailID;
private Integer qty;
/*...*/
}
}

Controller的方法:

public SignUpResult SignUp(HttpServletRequest request,@RequestBody SignUpSave signUpSave) throws Exception{
/*...*/
return signUpResult;
}
前端发送的数据:
var test = {
"TaskID": "1",
"SkillID": "1",
"Equipment": [
{
"EquipmentDetailID": "1",
"Qty": "1"
}
]
};
$.ajax({
type: "POST",
url:"...",
contentType: "application/json",
data: JSON.stringify(test),
dataType: "json",
success:function(res){
console.log(res)
}
})

测试结果看下面图片

总结

接收复杂类型的时候一定要加上contentType:application/json,要不然后端会报错,无法转换。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  spring mvc json
相关文章推荐