【问题标题】:CXF WADL missing details for complex objectsCXF WADL 缺少复杂对象的详细信息
【发布时间】:2016-08-19 15:03:48
【问题描述】:

我有一个 CXF 服务 (2.5.2),它使用 JSON 对象并生成如下所示的 JSON 对象

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

CXF为上述服务生成的WADL如下:

<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. resource 未指定该方法在请求中需要 User 对象 有效载荷

如何将这些缺失的内容添加到 WADL 文件中?

谢谢。

【问题讨论】:

    标签: cxf wadl


    【解决方案1】:

    您需要在蓝图文件中添加 cxf WadlGenerator 作为提供程序:

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

    【讨论】:

      猜你喜欢
      • 2012-05-13
      • 1970-01-01
      • 2023-04-07
      • 2012-09-07
      • 1970-01-01
      • 2014-09-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多