標籤:system ping src 格式 stat 返回結果 沒有 java class
情境:Ajax傳一個jsuon對象到伺服器,讓參數自動封裝至與json對象匹配的java對象中。
錯誤類型
"status":415
"error":"Unsupported Media Type"
"exception":"org.springframework.web.HttpMediaTypeNotSupportedException"
原因:沒有使用JSON.stringify(rowData)方法將請求參數轉化為json字串
"status":400
"error":"Bad Request"
"exception":"org.springframework.http.converter.HttpMessageNotReadableException"
原因:未使用[contentType : ‘application/json‘,]配置指定請求參數格式。
正確代碼
js代碼:
rowData:是easyui datagrid表格的一行資料,和伺服器的一個java類Condition對象屬性完全符合。
JSON.stringify(rowData):將rowData對象解析成字元創。
$.ajax({ type : ‘PUT‘, url : url, dataType : ‘json‘,
contentType : ‘application/json‘,
data : JSON.stringify(rowData), beforeSend : function () { // .... }, success : function (data) { // 返回的RequestResult的json對象 console.log(data); }, });
spring boot Controller 接收參數的 java代碼:
@RequestMapping(value = "/test", method = RequestMethod.PUT) public @ResponseBody RequestResult modifyCondition(@RequestBody Condition condition) {
System.out.println("condition:" + condition.toString());
// 建立假返回資料 RequestResult result = new RequestResult(); result.setCode(0); result.setMessage("success"); return result; }
返回結果:
Unsupported Media Type 415問題解決辦法(Ajax)