【发布时间】:2016-08-05 18:33:09
【问题描述】:
我正在向 POST url 发送一些 json 数据。此代码在本地环境(tomcat + windows)中运行良好,但不适用于生产环境(Tomcat + linux)。 已经提到了各种链接,但没有一个能帮到我。
问题操作系统与生产环境,我也很早就从服务器上删除了一些文件,我怀疑 tomcat 可能已经损坏,但其余所有 url 工作正常。这是我正在做的新开发。
如果我通过 firefox rest 客户端点击也会有相同的行为。
错误
服务器拒绝此请求,因为请求实体的格式不受所请求方法的请求资源支持
jQuery 代码
$.ajax({
type : "POST",
url : "/add",
data : JSON.stringify(data),
dataType: 'json',
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json'
},
success : function(resp) {
console.log(resp);
}
});
弹簧控制器
@RequestMapping(value = "/add", method = RequestMethod.POST, consumes = MediaType.APPLICATION_JSON_VALUE)
public @ResponseBody String addDishDetails(
@RequestBody MyPojo pojo) {
return "success";
}
pom.xml
也在罐子下面添加
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-mapper-asl</artifactId>
<version>1.9.13</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.5.3</version>
</dependency>
【问题讨论】:
-
你为什么使用不同的主要版本的杰克逊?这些根本不兼容。
-
@SotiriosDelimanolis 但这是我在看到一些答案后添加的一种解决方法,在添加它之前,在本地它工作正常,但不是在产品中。
-
不,这没有意义。不要乱搞东西。仅使用 Jackson 2。然后在 Spring 上启用 DEBUG 日志记录并检查它吐出的内容。
-
@SotiriosDelimanolis 你的意思是说“
jackson-mapper-asl 1.9.13 ”和“jackson-databind 2.0.0 " -
不,您应该拥有三个最新版本的these。完全摆脱
org.codehaus版本。
标签: java spring-mvc tomcat7 http-status-code-415