如何在一个项目中为api-docs
和SpringMVC
生成数据Apache CXF
?
现在swagger只显示SpringMVC的端点。我用了
的pom.xml
<!-- Swagger SpringMVC -->
<dependency>
<groupId>com.mangofactory</groupId>
<artifactId>swagger-springmvc</artifactId>
<version>0.9.1</version>
</dependency>
的applicationContext.xml
<mvc:annotation-driven/>
<mvc:default-servlet-handler/>
<beans:bean class="com.mangofactory.swagger.configuration.SpringSwaggerConfig" />
我看到所有带@RequestMethod
注释的类的REST端点。
如何实现资源列表以显示CXF端点?
我在cxf-servlet.xml
<context:component-scan base-package="com.mydlarz.myapp.services" />
<!-- Swagger writers -->
<bean id="resourceWriter"
class="com.wordnik.swagger.jaxrs.listing.ResourceListingProvider" />
<bean id="apiWriter"
class="com.wordnik.swagger.jaxrs.listing.ApiDeclarationProvider" />
<!-- Swagger API listing resource -->
<bean id="swaggerResourceJSON"
class="com.wordnik.swagger.jaxrs.listing.ApiListingResourceJSON" />
<cxf:bus>
<cxf:features>
<cxf:logging />
</cxf:features>
</cxf:bus>
<!-- this scans the classes for resources -->
<bean id="swaggerConfig" class="com.wordnik.swagger.jaxrs.config.BeanConfig">
<property name="resourcePackage" value="com.mydlarz.myapp.services"/>
<property name="version" value="1.0.0"/>
<property name="basePath" value="http://localhost:8080/services"/>
<property name="title" value="Petstore sample app"/>
<property name="description" value="This is a app."/>
<property name="contact" value="apiteam@wordnik.com"/>
<property name="license" value="Apache 2.0 License"/>
<property name="licenseUrl" value="http://www.apache.org/licenses/LICENSE-2.0.html"/>
<property name="scan" value="true"/>
</bean>
<bean class="org.apache.cxf.jaxrs.JAXRSServerFactoryBean"
init-method="create">
<property name="address" value="/services/" />
<property name="serviceBeans">
<list>
<ref bean="resultSEI" />
<ref bean="trackSEI" />
<ref bean="tournamentSEI" />
<ref bean="swaggerResourceJSON" />
</list>
</property>
<property name="providers">
<list>
<ref bean="jsonProvider" />
<ref bean="exceptionMapper" />
<!-- required for writing swagger classes -->
<ref bean="resourceWriter" />
<ref bean="apiWriter" />
</list>
</property>
</bean>