springmvc controller传参终极解决方案

写了很多篇关于controller层接收各种类型参数的写法,此篇做一个完结。

本篇中,使用json字符串的传参方式解决各种类型的参数传递,然后在后端使用JSON转成对应的实体或者数组

一、js中参数处理。

// 处理实体的传递
let userForm = {
	username:"张三",
	age:18
}
let user = JSON.stringify(userForm);
// 处理数组的传递
let workArray = [];
workArray.push({
	workname:"程序员",
	year:3
});
workArray.push({
	workname:"项目经理",
	year:5
});
let workList = JSON.stringify(workArray);
$.ajax({
    type:'post',
    url:'',
    dataType:'json',
    data:{user:user,workList:workList },
    success:function (res) {
        ...
    },
    error:function () {
		...
    }
})

二、后端直接当作字符串接收,然后转化为对象

@RequestMapping("/...")
@ResponseBody
public Map<String, Object> getUser(String user, String workList){
    User u= JSON.parseObject(user, User.class);
    List<Work> works= JSON.parseArray(workList, Work.class);
    ...
}

你可能感兴趣的:(java)