cxf:rsServer的Jackson JSON提供程序

时间:2015-04-08 18:00:09

标签: json rest jackson cxf

我正在使用Camel的cxfrs组件实现REST服务。我在inets周围看到的各种例子说我可以使用cxf:providers标签获取服务以返回相关对象的JSON序列化,如此

<cxf:rsServer id="rsServer" address="${CXFserver}${service}" serviceClass="org.trinityhealth.esb.PersonService"
    loggingFeatureEnabled="true" loggingSizeLimit="20">
    <cxf:providers>
        <bean id="jsonHandler" class="com.fasterxml.jackson.jaxrs.json.JacksonJsonProvider" />
    </cxf:providers>
</cxf:rsServer>

这个编译和部署就好了。但无论我尝试使用此配置的哪个变体,服务都会响应&#34;没有为响应类Person&#34;找到消息正文编写器。 Person类有一个&#34; @XmlRootElement(name =&#34; Person&#34;)&#34;其中的注释,如果我想要生成XML,我想这很好。但我不 - 我想要JSON。杰克逊有很多注释,我是否需要在Person类中添加一个以获得我的服务以实现我想要由杰克逊作家序列化的类?

1 个答案:

答案 0 :(得分:0)

我不太了解Camel,但通常Jackson不需要root注释,这与JAXB不同(部分原因是JSON结构不需要root类型的名称),所以你似乎不太可能会这样注释。 我猜测由于某种原因,注册不会成功。