CXF - 没有邮件正文阅读器

时间:2015-12-02 22:10:07

标签: json rest cxf provider

我在这个论坛上尝试了很多解决方案来解决这个问题,但没有运气。我正在使用Apache CXF(v.2.5.11),我需要将一些Json发布到REST端点,并将数据解组为Java对象(例如Map)。

当我发布请求时,我收到内部服务器错误

org.apache.cxf.jaxrs.utils.JAXRSUtils readFromMessageBody
WARNING: No message body reader has been found for request class Map, ContentType : application/json.

我尝试了解决方案here但是使用了类com.fasterxml.jackson.jaxrs.json.JacksonJsonProvider和maven artifact jackson-jaxrs-json-provider(版本2.5.4)。没运气。

我的端点定义如下:

@POST
@Path("/test")
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON)
public Response test(Map<String, Object> test) {
    ...
}

更新

所以我发现如果我回到JacksonJsonProvider的旧代码版本,编组工作正常:

春天背景:

<jaxrs:providers>           
    <bean class="org.codehaus.jackson.jaxrs.JacksonJsonProvider"/>      
</jaxrs:providers>

依赖:

<dependency>
    <groupId>org.codehaus.jackson</groupId>
    <artifactId>jackson-jaxrs</artifactId>
    <version>1.9.0</version>
</dependency>

所以我猜在fastxml 2.4+版本中发生了一些变化。

0 个答案:

没有答案