CXF Swagger2Feature为所有服务和端点返回相同的swagger.json

时间:2019-08-28 16:10:56

标签: java rest service swagger cxf

我正在尝试为我们的API生成swaggger文档。

我所做的是基于 org.apache.cxf.jaxrs.swagger.Swagger2Feature

<bean id="MySwagger2Feature" class="org.apache.cxf.jaxrs.swagger.Swagger2Feature" abstract="true">
            <property name="scanAllResources" value="true"/>
            <property name="title" value="Swagger API for Restful Services"/>
            <property name="description" value="Swagger API for Restful Services"/>
            <property name="version" value="1.0.0"/><!--TODO:: version -->
            <property name="prettyPrint" value="true"/>
        </bean>

,然后为每个Service(Endpoint)创建一个单独的bean,以扩展父bean。

<bean id="dashboardSwagger" parent="MySwagger2Feature">
            <property name="basePath" value="/services/rest/dashboard"/>
        </bean>

<bean id="usersSwagger" parent="MySwagger2Feature">
            <property name="basePath" value="/services/rest/users"/>
        </bean>

然后将它们添加到<property name="features">,但是问题在于所有服务都返回相同的swagger.json,而这是按字母顺序排在第一位的。

所以我搜索了互联网,一些开发人员说我应该添加

<property name="usePathBasedConfig" value="true" />

每个子bean。当我这样做时,所有服务现在都将返回此swagger.json文件。

{
    "swagger": "2.0"
}

请提出任何建议。

0 个答案:

没有答案