java - 将 JSON 发布到 Spring Controller

标签 java json ajax spring spring-mvc

我正在学习通过 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/

相关文章:

json - Swagger 无法从文件 schemaValidationMessages 中读取

javascript - Tableau 自定义 Web 数据连接器

ajax - 在codeigniter中使用jquery ajax进行表单验证

javascript - 将语法错误附加到 HTML 元素

java - 优雅地编写初始化的静态哈希表

java - 迭代 JSTL 中对象的属性,而不是数组列表或集合

javascript - Jquery.form (3.51.0-2014.06.20) fileupload 在 IE9 中不起作用(sharepoint 应用程序)

java - 具有模式验证的 JAX-RS

java - 如何为ProxyFactoryBean设置多个目标?

java - 服务器返回 HTTP 响应代码 : 400 for URL: