gpt4 book ai didi

java - 使用 Ajax 将 json 对象传递给 Spring mvc Controller

转载 作者:行者123 更新时间:2023-12-01 11:56:46 24 4
gpt4 key购买 nike

我试图将简单的 JSON 对象传递给 Spring MVC Controller ,并收到错误“NetworkError: 415 Unsupported Media Type - https://my_url.html” ”

我正在使用 Spring 3.2.10、jquery 1.6 和 com.googlecode.json-simple 1.1.1 库。关注我发布我的代码,

JSP

function myTestFunction(year){
$.ajax({
type: "POST",
url: "my_url.html",
data: "{\"testName\": \"MyName\"}",
contentType: "application/json",
mimeType: "application/json",
success: function(response){
console.log("SUCCESS: " + response);
},
error: function (e) {
console.log("Error " + e);
}
});

Controller 类

 @RequestMapping(value = "/my_url.html", method = RequestMethod.POST)
public void myTestMethod(@RequestBody MyInfo myInfo, HttpServletRequest request, HttpServletResponse response) throws Exception{
// my code
}

MyInfo 类

    public class MyInfo {    
private String testName;

public MyInfo () {
}

public MyInfo (String testName) {
this.testName = testName;
}

public String getTestName() {
return testName;
}

public void setTestName(String testName) {
this.testName = testName;
}
}

我尝试了多种选项,添加 dataType: 'json'并使用 JSON.stringify 发送对象但对我不起作用。而且我已经把 “<mvc:annotation-driven />”我的 spring 配置文件中的标记。我错过了什么或做错了什么?

最佳答案

您的请求和映射没问题。

当转换器尝试将 HTTP 请求转换为 JAVA 对象时,可能会发生您提到的错误。您提到您正在使用 json-simple 库。 Spring MVC 需要类路径上的 jackson 库,因此这很可能是您的问题。

尝试将 jackson 库添加到您的项目中。如果使用 maven,对于 spring 3.2,以下应该是正确的依赖项,如果您使用不同的构建系统,只需从 maven 存储库下载,但还要检查传递依赖项(您会注意到它们列在 maven 文件中) jar 存档)

    <dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-mapper-asl</artifactId>
<version>1.9.13</version>
</dependency>

关于java - 使用 Ajax 将 json 对象传递给 Spring mvc Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28392632/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com