記spring mvc傳入List的一次嘗試

首先,看一段異常:

org.springframework.http.converter.HttpMessageNotReadableException: Could not read document: Unrecognized token 'entityList': was expecting ('true', 'false' or 'null')

 

標記的是實體中定義的屬性值,實體如下:

@Data
public class ColumnsVO {

    List<GridColumnInfoEntity> entityList = new ArrayList<>();

}
View Code

 

前端js代碼:

$.ajax({
url: 'grid/add.columns',
type: "POST",
data: {
entityList: rows
},
success: function (data) {
layer.msg(data.message);
},
dataType: "json",
contentType: "application/json"
});

 

controller處理代碼:

@RequestMapping(value = "/add", consumes = "application/json; charset=utf-8")
    public EasyuiResponse addColumns(@RequestBody ColumnsVO columnsVO) {
        System.out.println(JSON.toJSONString(columnsVO));
        return new EasyuiResponse(EasyuiResponse.SUCCESS, "配置成功!");
    }
View Code

 

之前$.ajax中data一直是使用{key:value}方式,這次也不例外,結果就報錯了。。。

搜索、查找后解決方案:

$.ajax({
url: 'grid/add.columns',
type: "POST",
data: JSON.stringify({
entityList: rows
}),
success: function (data) {
layer.msg(data.message);
},
dataType: "json",
contentType: "application/json"
});

 

和上面比,只有一點區別,將{key:value}使用JSON.stringify({key:value})轉化為String后,一切正常!

 

一個比較奇怪的問題,記之。。。

 

 

另:spring mvc中傳入集合需要注意的點:

1、看代碼:

@RequestMapping(value = "/add", consumes = "application/json; charset=utf-8")
public EasyuiResponse addColumns(@RequestBody ColumnsVO columnsVO) {
System.out.println(JSON.toJSONString(columnsVO));
return new EasyuiResponse(EasyuiResponse.SUCCESS, "配置成功!");
}

標記部分需要注意!

2、則是上文討論部分,注意之!

 

 

 

 

 

 
            

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM