2016-08-19 5 views
0

меня есть служба CXF (2.5.2), который потребляет объект JSON и производит объект JSON, как показано нижеCXF WADL недостающие детали для сложных объектов

@POST 
@Produces({"application/json"}) 
@Consumes({"application/json"}) 
public AResponseObject register(@PathParam("param1") String param1, User user) { 
// 
} 

WADL генерируется CXF для обслуживания выше выглядит следующим образом:

<application xmlns="http://wadl.dev.java.net/2009/02" xmlns:xs="http://www.w3.org/2001/XMLSchema"> 
<script id="tinyhippos-injected"/> 
<grammars/> 

<resources base="http://host/..."> 

<resource path="/register/{param1}"> 
<param name="param1" style="template" type="xs:string"/> 
<method name="POST" id="register"> 
<request> 
<representation mediaType="application/json"/> 
</request> 
<response> 
<representation mediaType="application/json"/> 
</response> 
</method> 
</resource> 

</resources> 
</application> 

Над WADL файла: -

  1. не дает никаких сведений для того, что пользователь объекта в грамматик с прогиб

  2. ресурс не указывает, что метод требует объект пользователя в запросе полезной нагрузки

Как добавить эти недостающие вещи в WADL файл?

Спасибо.

ответ

0

Вы должны добавить CxF WadlGenerator в качестве поставщика в файле Blueprint:

<bean id="wadlGenerator" class="org.apache.cxf.jaxrs.model.wadl.WadlGenerator"> 
    <property name="linkJsonToXmlSchema" value="true" /> 
</bean> 

<jaxrs:server id="someRestService" address="/my/endpoint"> 
    <jaxrs:serviceBeans> 
     <ref component-id="someRestServiceBean" /> 
    </jaxrs:serviceBeans> 
    <jaxrs:providers> 
     <ref component-id="wadlGenerator" /> 
     <ref component-id="jsonProvider" /> 
    </jaxrs:providers> 
</jaxrs:server> 

 Смежные вопросы

  • Нет связанных вопросов^_^