CXF WADL 缺少复杂对象的详细信息
Posted
技术标签:
【中文标题】CXF WADL 缺少复杂对象的详细信息【英文标题】:CXF WADL missing details for complex objects 【发布时间】: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 文件上方:-
没有详细说明语法部分中的用户对象是什么
resource 未指定该方法在请求中需要 User 对象 有效载荷
如何将这些缺失的内容添加到 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>
【讨论】:
以上是关于CXF WADL 缺少复杂对象的详细信息的主要内容,如果未能解决你的问题,请参考以下文章
我缺少啥来启用从自定义适配器到 ListView 的详细信息传输?
Rmarkdown中的插入符号doparallel:使用render()时缺少详细信息
部署到 Firebase 云功能时出错 - ?缺少配置详细信息
解决 U2000 R017 安装报错: 检查SQL server数据库环境变量信息 ( 异常 ) [ 详细信息 ] PATH环境变量中缺少数据库路径的信息