出现此错误的诀窍是可能导致误导。在OP的情况下,您会看到浏览器GET请求(带有
accept header*/*)和正确的配置(在OP情况下为默认的最小工作配置)导致的错误,原因很可能是转换为表示形式时的异常。
即使请求没有建议表示形式(Nor参数,路径,接受标头),响应仍在抱怨
该请求标识的资源只能根据请求“接受”标头生成特性不可接受的响应
原因可能是:
- 缺少的依赖项
- 返回bean中的错误(例如缺少吸气剂等)
从 Spring framework 4.1开始 ,最低杰克逊版本应为2.1 (建议为2.3),用此单个杰克逊依赖项替换
<dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <version>2.1.2</version> </dependency>
在这种情况下,妨碍调试的一件事是在tomcat
7.0.5x版本中,与某些以前的版本不同,此依赖项在libs中可用。因此,您的代码在该版本的tomcat中可以正常工作
Spring MVC 3.x 版本仍应使用
<dependency> <groupId>org.prehaus.jackson</groupId> <artifactId>jackson-mapper-asl</artifactId> <version>1.9.13</version> </dependency>



