Spring MVC 4.1.5 RESTFUL风格返回JSON数据406错误处理

转载来自:http://blog.csdn.net/a4307515/article/details/42394869#reply

1. 问题:

  使用spring4.1.5,使用ResponseBody注解返回JSON格式的数据的时候遇到406错误。

2. 解决办法,导入jackson2.X的jar包:

我添加的是jackson-annotations-2.5.0.jar、jackson-core-2.5.1.jar、jackson-databind-2.5.1.jar。加载完,一定要执行maven——update project进行刷新工程,然后就可以了。


3. 原因:

查找根源

下载4.0.9和4.1.0的spring-webmvc源代码进行对比。

看到在json处理时稍有不同。

4.0.9使用了网上所说的:

[html] view plain copy print ?
  1. <dependency>  
  2.     <groupId>org.codehaus.jacksongroupId>  
  3.     <artifactId>jackson-mapper-aslartifactId>  
  4.     <version>1.9.10version>  
  5. dependency>  

\spring-webmvc-4.0.9.RELEASE-sources\org\springframework\web\servlet\view\json\MappingJacksonJsonView.java

[java] view plain copy print ?
  1. import org.codehaus.jackson.JsonEncoding;  
  2. import org.codehaus.jackson.JsonGenerator;  
  3. import org.codehaus.jackson.map.ObjectMapper;  
  4. import org.codehaus.jackson.map.SerializationConfig; 

而4.1.0开始,使用了:
[html] view plain copy print ?
  1. <dependency>  
  2.     <groupId>com.fasterxml.jackson.coregroupId>  
  3.     <artifactId>jackson-databindartifactId>  
  4.     <version>2.5.1version>  
  5. dependency>  
spring-webmvc-4.1.0.RELEASE-sources\org\springframework\web\servlet\view\json\AbstractJackson2View.java
[java] view plain copy print ?
  1. import com.fasterxml.jackson.annotation.JsonView;  
  2. import com.fasterxml.jackson.core.JsonEncoding;  
  3. import com.fasterxml.jackson.core.JsonGenerator;  
  4. import com.fasterxml.jackson.databind.ObjectMapper;  
  5. import com.fasterxml.jackson.databind.SerializationFeature;  

你可能感兴趣的:(Spring MVC 4.1.5 RESTFUL风格返回JSON数据406错误处理)