我有一个使用fastxml jackson进行序列化的休息应用程序。
我想增强wadl以显示表示标记内的模型字段,例如
<representation mediaType="application/json">
<doc>...</doc>
<param name="myField" type="xs:string"/>
...
</representation>
而不是香草的描述:
<representation mediaType="application/json">
<doc>...</doc>
</representation>
我以为我需要为WadlGeneration添加一个bean ...
<bean id="jacksonProvider" class="com.fasterxml.jackson.jaxrs.json.JacksonJsonProvider">
<constructor-arg><ref bean="customObjectMapper"/></constructor-arg>
</bean>
<bean id="wadlGenerator" class="org.apache.cxf.jaxrs.model.wadl.WadlGenerator">
<property name="linkJsonToXmlSchema" value="true" />
<property name="supportCollections" value="true"/>
<property name="ignoreMessageWriters" value="false"/>
<property name="useJaxbContextForQnames" value="false"/>
</bean>
<jaxrs:server id="restContainer" address="/">
<jaxrs:serviceBeans>
...
</jaxrs:serviceBeans>
<jaxrs:extensionMappings>
<entry key="xml" value="application/xml"/>
<entry key="json" value="application/json"/>
</jaxrs:extensionMappings>
<jaxrs:providers>
<ref bean="jacksonProvider" />
<ref bean="wadlGenerator" />
</jaxrs:providers>
</jaxrs:server>
..但显然还有更多工作要做。我在jaxb和codehaus jackson中看到了一些例子,但是有关如何使用fastxml jackson工作的任何想法?
答案 0 :(得分:0)
似乎解决方案是在我的每个模型上包含@xmlrootelement。然后我使用了doc生成器:http://enunciate.codehaus.org/index.html
只要我的模型定义了元素,它就会按预期反序列化。