0
:jsonをAjaxを使ってRestControllerに正しく送信するにはどうすればいいですか?私は、APIにJSONを送信しようとしていますが、私はこのエラーを取得する
com.fasterxml.jackson.core.JsonParseException: Unrecognized token 'status': was expecting ('true', 'false' or 'null')
これはjavascriptのです:
$("body").on('click','.btn-danger' ,(function(){
var id = $(this).val();
var data = {"status": "canceled",
"response": ""};
console.log(data);
$.ajax ({
type: 'PUT',
url: '/api/pendingrequests/' + id,
contentType: "application/json",
data: data,
dataType : "html"
}).done (function() {
$(this).hide();
});
}));
コントローラ:
@RequestMapping(value = "/api/pendingrequests/{requestId}", method = RequestMethod.PUT)
public ResponseEntity updateRequestStatus(@PathVariable Long requestId, @RequestBody HolidayRequestAction action) throws IOException {
return updateRequestStatusService.updateRequest(requestId, action);
}
とPOJO要求から受け取ろうとしている:
public class HolidayRequestAction {
private String status;
private String response;
public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}
public String getResponse() {
return response;
}
public void setResponse(String response) {
this.response = response;
}
}
なぜこの解析例外が発生しますか?何が問題なの?
に行くことができないがあなたの代わりに、オブジェクトのJSON文字列を渡してみましたか? 'var data = '{" status ":" cancelled "、" response ":"}'; ' – mjsarfatti
エラーはあまり説明できませんか?トークン 'status':予期していた( 'true'、 'false'または 'null')、データ内のステータスプロパティがtrue/false/nullのいずれかであることを意味します –