Springmvc controller究極のソリューションへの参照

6056 ワード

コントロールレイヤが様々なタイプのパラメータを受信する方法について多くの編を書き、この編は完結した.
本編では,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);
    ...
}