欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

在Java Web项目中使用Swagger

程序员文章站 2022-07-03 16:06:56
...

在项目的pom.xml中添加Maven依赖

<dependencies>
    ...

    <!-- Swagger2 -->
    <dependency>
        <groupId>io.springfox</groupId>
        <artifactId>springfox-swagger2</artifactId>
        <version>2.6.1</version>
    </dependency>
    <dependency>
        <groupId>com.fasterxml</groupId>
        <artifactId>classmate</artifactId>
        <version>1.3.3</version>
    </dependency>
    <dependency>
        <groupId>io.springfox</groupId>
        <artifactId>springfox-swagger-ui</artifactId>
        <version>2.6.1</version>
    </dependency>
</dependencies>

在项目中添加Swagger的配置类SwaggerConfig.java

package com.yonyou.quanyou.omsb2b;

import org.springframework.context.annotation.Bean;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;

@EnableSwagger2
public class SwaggerConfig {
    @Bean
    public Docket customDocket() {
        return new Docket(DocumentationType.SWAGGER_2)
                .apiInfo(apiInfo())
                .select()
                .apis(RequestHandlerSelectors.basePackage("com.yonyou.quanyou.omsb2b.controller"))
                .paths(PathSelectors.any())
                .build();
    }

    private ApiInfo apiInfo() {
        return new ApiInfoBuilder()
                .title("quanyou-omsb2b RESTful APIs")
                .description("使用Swagger2构建RESTful API")
                .termsOfServiceUrl("http://www.yonyou.com")
                .version("1.0")
                .build();
    }
}

在webapp/WEB-INF/spring-mvc.xml文件中添加Bean配置

<beans>
    ...

    <!-- Enables swgger ui-->
    <mvc:resources mapping="swagger-ui.html" location="classpath:/META-INF/resources/"/>
    <mvc:resources mapping="/webjars/**" location="classpath:/META-INF/resources/webjars/"/>
    <!-- Include a swagger configuration-->
    <bean name="/swaggerConfig" class="com.yonyou.quanyou.omsb2b.SwaggerConfig"/>
</beans>

使用方式

项目启动后,访问http://host:port/project-context/swagger-ui.html,即可查看RestController的所有接口文档。关于Swagger中API注解的更详细用法,可参考官方网站。