对于下面的方法,JSONObject 始终为空。
@RequestMapping(value = "/package/{id}", method = RequestMethod.PUT)
@ResponseStatus(HttpStatus.OK)
@ResponseBody
public SPackage updatePackage(@PathVariable String id, @RequestBody JSONObject
sPackage) {
}
我的ajax是这样的。我正在将对象作为服务器端的空 map 获取
var jsonObject= {"customerName":$('#customerName').val()}
var jsonData = JSON.stringify(jsonObject);
$.ajax({
type: "PUT",
url: "http://localhost:8081/someproj/package/" + $('#id').val(),
dataType: "json",
data: jsonData,
async: false,
contentType: "application/json; charset=utf-8",
beforeSend : function() {
openModal();
},
success: function(data) {
closeModal();
$('#success').show();
console.log(data);
}
});
最佳答案
我猜spring
不知道将您的json
转换为JSONObject
,最好的办法是接受POJO object
其结构与您的 json
类似,
@RequestMapping(value = "/package/{id}", method = RequestMethod.PUT)
@ResponseStatus(HttpStatus.OK)
@ResponseBody
public SPackage updatePackage(@PathVariable String id, @RequestBody YourJsonPOJO
sPackage) {
}
关于java - @RequestBody在Spring中始终为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27063392/