用于退出RESTAPI的Swagger实现

时间:2015-08-20 09:01:13

标签: java api swagger

我正在尝试使用Swagger API为我的Rest API生成API文档。我已经搜索了swagger.io网站,开始使用Swagger配置,但是无法生成API。

这是我在pom.xml中的依赖

<dependency>
     <dependency>
        <groupId>io.swagger</groupId>
        <artifactId>swagger-jaxrs</artifactId>
        <version>1.5.0</version>
</dependency>

和applicationContext.xml中的bean类:

<bean id="beanConfig" class="io.swagger.jaxrs.config.BeanConfig">
    <property name="title" value="Swagger Sample App"/>
    <property name="version" value="1.0.0" />
    <property name="schemes" value="http" />
    <property name="host" value="localhost:8002" />
    <property name="basePath" value="/api"/>
    <property name="resourcePackage" value="io.swagger.resources"/>
    <property name="scan" value="true"/>
</bean>

和我的web.xml

<servlet>
        <servlet-name>Jersey2Config</servlet-name>
        <servlet-class>io.swagger.jaxrs.config.DefaultJaxrsConfig</servlet-class>
        <init-param>
            <param-name>api.version</param-name>
            <param-value>1.0.0</param-value>
        </init-param>
        <init-param>
            <param-name>swagger.api.basepath</param-name>
            <param-value>http://localhost:8080/api</param-value>
        </init-param>
        <load-on-startup>2</load-on-startup>
</servlet>

这里,在web.xml中,我在Jersey2Config上遇到错误,因为它正在寻找servlet映射。在Swagger.io中,有人提到不需要servlet映射。任何人都可以向我指出创建Swagger API的正确方向吗?感谢。

1 个答案:

答案 0 :(得分:1)

如果您使用的是DefaultJaxrsConfig,则无需使用BeanConfig。这用于没有web.xml的编程配置。

你可以摆脱其中一种,但不能同时摆脱两者。使用web.xml可能最简单,请参阅此示例:

https://github.com/swagger-api/swagger-samples/tree/master/java/java-jersey-jaxrs