【发布时间】:2016-08-30 06:42:23
【问题描述】:
为了获得 json 响应,reseasy 定义了一种与 Jackson 集成的方法。 使用 reseasy-jackson-provider 和 resteasy-jackson2-provider。
Jackson 也可用于从 XML 反序列化反序列化。即使用 jackson-jaxrs-xml-provider 和 jackson-dataformat-xml。但是使用这些并产生 XML 响应失败了
org.jboss.resteasy.core.NoMessageBodyWriterFoundFailure: Could not find MessageBodyWriter for response object of type: someclass of media type: application/xml
使用的依赖项
<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>resteasy-jaxrs</artifactId>
<version>${resteasy.version}</version>
</dependency>
<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>resteasy-validator-provider-11</artifactId>
<version>${resteasy.version}</version>
</dependency>
<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>resteasy-servlet-initializer</artifactId>
<version>${resteasy.version}</version>
</dependency>
<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>resteasy-jackson2-provider</artifactId>
<version>${resteasy.version}</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.jaxrs</groupId>
<artifactId>jackson-jaxrs-xml-provider</artifactId>
<version>${jackson.version}</version>
</dependency>
资源
@GET
@Path("/foo/{id}")
@Produces({MediaType.APPLICATION_XML})
public Foo getFoo(@PathParam("id") int id);
【问题讨论】:
-
问题是什么?你能制定出来吗?
-
问题是如何使用jackson从resteasy获取xml响应
-
目前在 resteady-jackson2-provider jar 中有一个名为 Jackson2JsonInterceptor 的编写器拦截器。我觉得 xml 需要类似的一个才能使其工作。
标签: java xml tomcat jackson resteasy