jqgrid表格發送js對象類型數組參數,spring boot接收數組方法

公司一直用的jqgrid表格,一般來說傳參請求默認是get,參數也就幾個普通的參數

最近有個需求是進行高級查詢,就是查詢參數中會含有數組,而且是對象數組,於是

 發送的參數是這樣的:

{
    status:0,
    name:"哈哈",
    [
        {
            field:"aaa",
            name:"ccc",
            expand_status:20
        },
        {
            field:"aaa",
            name:"ccc",
            expand_status:20
        },
        {
            field:"aaa",
            name:"ccc",
            expand_status:20
        }
    ]
}

這樣的數據需要以json格式發送,相對應的,spring boot Controller接參數需要使用requestBody註解

jqgrid這樣配置

    datatype: "json",
	mtype:"post",
	ajaxGridOptions: {contentType: "application/json;charset=UTF-8"},
	serializeGridData : function(postdata) {
		return JSON.stringify(postdata);
	},

配置ajax請求參數爲json,並且設置參數序列化方式,將對象使用JSON.stringify方法轉化成json字符串發送

@RequestMapping("/list")
	@RequiresPermissions("property:room:list")
	public R list(@RequestBody Map<String, Object> params){
		PageUtils page = roomService.queryPage(params);
		return R.ok().put("page", page);
	}

這樣後臺就可以成功接收到數組參數,因爲是Map<String,Object>類型,所以數組對象可以直接轉化成List<Map<String,Object>>即可

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章