当前位置: 首页 > 知识库问答 >
问题:

CXF WADL缺少复杂对象的细节

宣星光
2023-03-14

我有一个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文件:-

>

  • 没有在语法部分中提供有关用户对象的任何详细信息

    资源未指定该方法需要请求有效负载中的User对象

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

    谢谢你。

  • 共有1个答案

    丌官积厚
    2023-03-14

    您需要在Blueprint文件中添加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>
    
     类似资料:
    • 我正在使用Envers来审核表,但它正在为未知/不存在的表创建一些审核表。它看起来像多对一关系的多对多关系审计表。 这是对的吗?如果是,为什么? 但当我尝试删除和HorarioFixo时,我遇到了一个错误。 我收到的错误: 这是SQL重复: 所有这些都是代码的一部分。如果你需要更多,请留下评论。 我的班级: 我的映射: 新罕布什尔州和恩维尔斯配置:

    • 我试图从一个相当复杂的Java对象生成一个CSV文件。该对象是一个会话,具有一些属性,字符串和消息的列表,这些字符串和消息又具有一些属性,还有一个注释的列表,这些注释具有一些属性。 session类如下所示; 消息类如下所示; 事实上,开始认为(单一的)CSV可能不是解决这个问题的最佳方法。

    • 我从一个RPC服务接收到一个通用的类型实例,我要将该实例转换为类型实例,此操作的时间复杂度是多少?性能对我的应用程序至关重要。(对于像Java和C#这样的语言) 示例:或

    • 我遵循了以下基本的Spring批量教程https://spring.io/guides/gs/batch-processing/ . > 我正在使用IntelliJ 14并创建了一个Spring批处理项目 我在用Mavin。我还有pom。xml文件。 Mvn clean install运行良好,即使应用程序。java告诉我“无法自动连线。找不到JdbcTemplate类型的bean”@Autowi

    • 我得到和错误当我执行 错误是: 未处理的异常:com.google.gson.JsonSyntaxException:java.lang.IllegalStateException:预期BEGIN_OBJECT但BEGIN_ARRAY在第1行第52列路径$. f 这是 json 响应 我有这个班级 和这个其他

    • 问题内容: 在合理的时间内从数据库中完全加载非常复杂的对象以及合理的查询数量时,我遇到了问题。 我的对象有很多嵌入式实体,每个实体都引用了另一个实体,另一个实体又引用了另一个,依此类推(因此,嵌套级别为6) 因此,我创建了示例来演示我想要的内容:https : //github.com/gladorange/hibernate-lazy- loading 我有用户。 用户有喜欢的 橙子,苹果,葡萄

    • 我有2个POJO,如下所示: 现在上面的映射将name等字段从SourceObj复制到DestObj,但无法将List of Address从src包映射到List of Address包。地址对象中还有一个联系人对象列表。 我找到的一个解决方案是编写一个自定义转换器,它将逐个复制基本字段值,然后将所有对象从一个列表复制到另一个目标列表。 但我正在寻找推土机配置的解决方案。xml。 在上述xml映

    • 问题内容: 我有以下JS对象: 我需要在上述对象上执行此SQL查询: 结果应为: 因为只有该组包含在查询中使用的两个ID。 我找到了有关SQLike和JSLINQ的信息,但是我 在哪里 以及 有 表达式时遇到了问题。是否有可能使用SQL-JS库或JS / jQuery本身(编写函数等)在javascript对象上执行此类查询? 问题答案: Alasql JavaScript SQL库是专门为此类任