如何在Spring 4中使用rapidxml Jackson JSON序列化

当我使用以下curl调用它时,为什么我的Spring控制器不返回媒体类型application/json

 curl -v -i -H "Accept: application/json" localhost:8080/properties-ws/prop/2322 

我已经阅读了关于这个主题的所有其他问题和答案,没有一个解决我的具体问题。

我正在使用Spring 4,并且有一个简单的Controller和pom。

控制器方法

 @RequestMapping(value="/prop/{character}", method=RequestMethod.GET, produces={MediaType.APPLICATION_JSON_VALUE}) public @ResponseBody CharData getData(@PathVariable(value="character") int codePoint) { CharData chData = null; chData = CharPropertiesService.getProperties(codePoint); return chData; } 

POM文件依赖jackson

我包括了fastxml jackson-databind工件版本2.3.3

这是pom:

   4.0.0 com.joconner.unicode 0.0.1-SNAPSHOT properties-ws properties-ws war  1.7 4.0.3.RELEASE 1.6.9 1.6.1 UTF-8    com.joconner.unicode properties 1.0.0-SNAPSHOT compile   com.fasterxml.jackson.core jackson-databind 2.3.3    junit junit 4.8.2 test    org.slf4j slf4j-api ${org.slf4j-version}   org.slf4j jcl-over-slf4j ${org.slf4j-version} runtime   org.slf4j slf4j-log4j12 ${org.slf4j-version} runtime   log4j log4j 1.2.15   javax.mail mail   javax.jms jms   com.sun.jdmk jmxtools   com.sun.jmx jmxri   runtime    javax.servlet servlet-api 2.5 provided   javax.servlet.jsp jsp-api 2.1 provided   javax.servlet jstl 1.2    org.springframework spring-webmvc ${org.springframework-version}   org.springframework spring-test ${org.springframework-version}    org.springframework spring-context ${org.springframework-version}    commons-logging commons-logging      

控制器返回HTTP响应406,并带有以下消息:

由该请求标识的资源仅能够根据请求“接受”报头生成具有不可接受的特性的响应。

关于我没有正确配置的任何想法?

感谢Sotirios,我已经解决了我的问题。 我不确定为什么这会解决它,但确实如此。

我只是将以下内容放在我的servlet-context.xml中:

   

而已。 这就是全部,现在Spring返回了我期望的对象的JSON表示。