我正在学习通过 ajax 将 JSON 对象传递给 Spring Controller 。
找到一篇文章,似乎解释了它是如何完成的:http://hmkcode.com/spring-mvc-json-json-to-java/
从那时起,我向 Controller 添加了 @RequestMapping:
@RequestMapping(value = "/get-user-list", method = RequestMethod.POST)
public @ResponseBody String testPost(@RequestBody ResourceNumberJson resourceNumberDtoJson) {
System.out.println(">>>>>>>>>>>>>>>>>>>>>> I AM CALLED");
return "111";
}
然后我正在形成我的 ajax 帖子:
var json = {
"login" : "login",
"resource_number" : "111",
"identifier" : "1111",
"registrator_number" : "11111111111111"
};
console.log(JSON.stringify(json));
$.ajax({
type : "POST",
url : "/get-user-list",
dataType : "text",
data : JSON.stringify(json),
contentType : 'application/json; charset=utf-8',
mimeType: 'application/json',
success: function(data) {
alert(data.id + " " + data.name);
},
error:function(data,status,er) {
alert("error: "+data+" status: "+status+" er:"+er);
}
});
从“get-user-list”页面运行。
当我尝试运行此程序时,我收到 HTTP 415 错误。 Spring 4, jackson 2.4
无法理解我做错了什么。
最佳答案
HTTP 415 表示不支持该媒体类型。
尝试将您的 @RequestMapping 注释更改为
@RequestMapping(value = "/get-user-list",
method = RequestMethod.POST,
consumes="application/json")
您还应该考虑使用 RESTClient、Postman 甚至 cURL 等客户端测试您的 REST 服务,以确保它在开始实现 jQuery 客户端之前正常工作。
关于java - 将 JSON 发布到 Spring Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36084373/