json - cxf :rsServer 的 Jackson JSON 提供程序

标签 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>

这可以很好地编译和部署。但无论我尝试此配置的哪种变体,该服务都会响应“未找到响应类 Person 的消息正文编写器”。 Person 类中有一个“@XmlRootElement(name = "Person")”注释,如果我想要生成 XML,我想这会很棒。但我不 - 我想要 JSON。 Jackson 有大量注释,我是否需要向 Person 类添加一个注释以使我的服务意识到我希望 Jackson 作者序列化该类?

最佳答案

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

关于json - cxf :rsServer 的 Jackson JSON 提供程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29522020/

相关文章:

java - 如何在没有 JAXBElement 包装器的情况下对 JAXBElement 包装的响应进行 JSON 编码?

php - Groovy httpbuilder ResponseParseException无效的JSON字符串

c# - 使用 KeyValuePairs 列表作为参数的 Ajax 号召性用语

java - 在 java 中解析 xml 时,跳过元素的反序列化并以字符串形式获取整个内容

rest - 通过REST API身份验证进行TeamCity备份失败

java - 访问rest-api方法getAll时获取数据失败

java - Java中从json中获取键值 - JSON解析

ajax - 使用主干从外部 API 检索 JSON

mysql - 数据表警告 : table id=seo_editor_product - Invalid JSON response

Java Spring Rest API。返回引用的对象或对象的 id?