使用 ServiceMix 7 M3 和 CXF 生成的 WADL 中缺少方法 id 属性
Missing method id attribute in generated WADL with ServiceMix 7 M3 and CXF
我们正在使用 ServiceMix 7.0.0.M3 并使用 CXF WADL 生成器。
现在生成的 WADL 在 resource>method 标签中似乎没有 'id' 属性。例如,以下 WADL 中的第 4 行没有 'id' 属性。
<resources base="http://localhost:8181/api/rest/box">
<resource path="/">
<resource path="boxes">
<method name="GET">
<request>
<param name="language" style="header" type="xs:string"/>
<param name="includeInactive" style="query" type="xs:boolean"/>
</request>
<response>
<representation mediaType="application/json;charset=utf-8" element="prefix1:BoxRestResponse"/>
</response>
</method>
</resource>
如果我用 Jersey 生成 WADL,我会得到一个 'id' 属性,其中包含相应的 Java 方法的名称。
<resources base="http://localhost:8181/api/rest/box">
<resource path="/">
<resource path="boxes">
<method name="GET" id="getBoxes">
<request>
<param name="language" style="header" type="xs:string"/>
<param name="includeInactive" style="query" type="xs:boolean"/>
</request>
<response>
<representation mediaType="application/json;charset=utf-8" element="prefix1:BoxRestResponse"/>
</response>
</method>
</resource>
我们的一个前端开发工具需要 'id' 属性。
是否可以配置 CXF WADL 生成器以包含方法 id 属性?
我找到了。将 WadlGenerator 配置 属性 'addResourceAndMethodIds' 添加到 CXF 蓝图文件时生成 ID:
<bean id="wadlGenerator" class="org.apache.cxf.jaxrs.model.wadl.WadlGenerator">
<!-- properties: Method Summaries @ https://cxf.apache.org/javadoc/latest/org/apache/cxf/jaxrs/model/wadl/WadlGenerator.html -->
<property name="linkJsonToXmlSchema" value="true" />
<property name="useJaxbContextForQnames" value="true" />
<property name="addResourceAndMethodIds" value="true" />
</bean>
我们正在使用 ServiceMix 7.0.0.M3 并使用 CXF WADL 生成器。 现在生成的 WADL 在 resource>method 标签中似乎没有 'id' 属性。例如,以下 WADL 中的第 4 行没有 'id' 属性。
<resources base="http://localhost:8181/api/rest/box">
<resource path="/">
<resource path="boxes">
<method name="GET">
<request>
<param name="language" style="header" type="xs:string"/>
<param name="includeInactive" style="query" type="xs:boolean"/>
</request>
<response>
<representation mediaType="application/json;charset=utf-8" element="prefix1:BoxRestResponse"/>
</response>
</method>
</resource>
如果我用 Jersey 生成 WADL,我会得到一个 'id' 属性,其中包含相应的 Java 方法的名称。
<resources base="http://localhost:8181/api/rest/box">
<resource path="/">
<resource path="boxes">
<method name="GET" id="getBoxes">
<request>
<param name="language" style="header" type="xs:string"/>
<param name="includeInactive" style="query" type="xs:boolean"/>
</request>
<response>
<representation mediaType="application/json;charset=utf-8" element="prefix1:BoxRestResponse"/>
</response>
</method>
</resource>
我们的一个前端开发工具需要 'id' 属性。
是否可以配置 CXF WADL 生成器以包含方法 id 属性?
我找到了。将 WadlGenerator 配置 属性 'addResourceAndMethodIds' 添加到 CXF 蓝图文件时生成 ID:
<bean id="wadlGenerator" class="org.apache.cxf.jaxrs.model.wadl.WadlGenerator">
<!-- properties: Method Summaries @ https://cxf.apache.org/javadoc/latest/org/apache/cxf/jaxrs/model/wadl/WadlGenerator.html -->
<property name="linkJsonToXmlSchema" value="true" />
<property name="useJaxbContextForQnames" value="true" />
<property name="addResourceAndMethodIds" value="true" />
</bean>