如何使用CXFNonSpringJaxrsServlet将swagger工具与apache CXF REST Web服务集成?

时间:2016-03-16 12:14:20

标签: apache rest cxf swagger swagger-ui

如果没有Spring框架支持(使用org.apache.cxf.jaxrs.servlet.CXFNonSpringJaxrsServlet),有人可以提供明确的步骤,将Swagger集成到Apache CXF JAX-RS应用程序中。

我经历了一个昂首阔步的网站和博客我还没有找到任何明确的步骤来配置招摇。

1 个答案:

答案 0 :(得分:2)

我做了以下步骤:

1)为我的项目添加了必需的依赖项:

    <!-- SWAGGER -->
    <dependency>
        <groupId>io.swagger</groupId>
        <artifactId>swagger-jaxrs</artifactId>
        <version>1.5.8</version>
    </dependency>
    <dependency>
        <groupId>org.webjars</groupId>
        <artifactId>swagger-ui</artifactId>
        <version>2.1.4</version>
        <scope>provided</scope>
    </dependecy>
    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-api</artifactId>
        <version>${slf4j-simple.version}</version>
    </dependency>
    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-simple</artifactId>
        <version>${slf4j-simple.version}</version>
    </dependency>

2)更新了这里提到的web.xml:https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=61318164

3)添加了swagger-ui 2.1.4作为项目资源(我编辑了index.html以指向正确的URL);

4)将@Api注释添加到我的服务cxf;

希望得到这个帮助

<强>更新

CXF依赖:

    <!-- CXF -->
    <dependency>
        <groupId>org.apache.cxf</groupId>
        <artifactId>cxf-rt-frontend-jaxrs</artifactId>
        <version>${cxf.version}</version>
    </dependency>
    <dependency>
        <groupId>org.apache.cxf</groupId>
        <artifactId>cxf-rt-transports-http</artifactId>
        <version>${cxf.version}</version>
    </dependency>
    <dependency>
        <groupId>org.apache.cxf</groupId>
        <artifactId>cxf-rt-rs-service-description</artifactId>
        <version>${cxf.version}</version>
    </dependency>

cxf.version = 3.1.5(CXF 3.1.X仅适用于jdk 1.7或更新版本)

相关问题