@RequestBodyオブジェクトが空で、異常Required request body is missingの解決方法
2804 ワード
フロントエンドとのインタラクションの過程では、jsonデータとフロントエンドでインタラクションを行うため、転送されたjsonデータ全体を取り出すには@RequestBodyという注釈が必要であり、フロントエンドがデータを送信するフォーマットは以下の通りである.
// json
$("#id").click(function () {
$.ajax({
type: "post",
url: "test",
contentType: "application/json; charset=utf-8",
data: JSON.stringify(getTestJson()),
dataType: "json",
success: function (data) {
alert(data);
},
error:function (XMLHttpRequest, textStatus, errorThrown) {
alert(XMLHttpRequest.status);
alert(XMLHttpRequest.readyState);
alert(textStatus);
}
});
function getTestJson() {
var Json = {
"a":"aaaaaaa",
"b":0,
"c":2,
};
return Json;
}
});
AJAX , , , :
@RequestMapping(value = "/test",method = RequestMethod.POST) @ResponseBody public String test(@RequestBody String requestJson){ if(requestJson==null||requestJson==""){ return ApiResponse.buildFailResponse(ResultConstant.OPERATOR_FAIL," JSON "); }
このように、@RequestBody注釈を加えると、要求されたjsonデータを簡単に全部手に入れることができ、jsonデータを勝手に変換することができます.}
JSONObject JAVA 。
, json , json , , Required request body is missing json , , 。
, , , ,
。
, @RequestBody Required , false, :
@RequestMapping(value = "/test",method = RequestMethod.POST) @ResponseBody public String test(@RequestBody(required = false) String requestJson){ if(requestJson==null||requestJson==""){ return ApiResponse.buildFailResponse(ResultConstant.OPERATOR_FAIL," JSON "); }
}