【发布时间】:2018-11-26 17:15:25
【问题描述】:
我必须将此依赖项添加到我的 pom.xml 中,以便在我的软件中反序列化 xml 文件。
<dependency>
<groupId>com.fasterxml.jackson.dataformat</groupId>
<artifactId>jackson-dataformat-xml</artifactId>
</dependency>
然而,它现在似乎被 Spring (4.1.6) 用作默认的 objectMapper,并且所有未明确询问为 json 的其余响应都以 xml 的形式返回。
看起来,AbstractJackson2HttpMessageConverter 走错了路。
我试图通过将它添加到 app-config.xml 来强制使用默认对象映射器,但它没有改变任何东西:
<bean name="jacksonMapper" class="com.fasterxml.jackson.databind.ObjectMapper"/>
<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">
<property name="messageConverters">
<list>
<bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
<property name="objectMapper" ref="jacksonMapper" />
</bean>
</list>
</property>
</bean>
我可能不得不为 xstream 更改 jackson,因为它没有扩展 objectMapper,因此与 Spring 的工作方式不同,但它比设置 Spring 要做的工作要多得多。
【问题讨论】: