Swagger整合

发布时间 2023-08-21 10:28:18作者: 林林2127

1. Swagger作用:生成接口说明文档;对接口进行测试。

2. 整合

2.1 在api子工程添加依赖(Swagger2 \ Swagger UI)

        <!-- https://mvnrepository.com/artifact/io.springfox/springfox-swagger2 -->
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger2</artifactId>
            <version>2.9.2</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/io.springfox/springfox-swagger-ui -->
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger-ui</artifactId>
            <version>2.9.2</version>
        </dependency>

2.2 在 api子工程 创建swagger的配置(Java配置方式)

@Configuration
@EnableSwagger2
public class SwaggerConfig {
    /*swagger会帮助我们生成接口文档
     * * 1:配置生成的文档信息
     * 2: 配置生成规则*/

    /*Docket封装接口文档信息*/
    @Bean
    public Docket getDocket() {
        Docket docket = new Docket(DocumentationType.SWAGGER_2); //指定文档风格
        //如何获取一个接口对象
        //new接口,需要在构造器后的{}实现接口中所有抽象方法
        //new 子类/实现类
        //工厂模式

        //创建封面信息对象
        ApiInfoBuilder apiInfoBuilder = new ApiInfoBuilder();
        apiInfoBuilder.title("《锋迷商城》后端接口说明") //标题
                .description("此文档详细说明了锋迷商城项目后端接口规范")
                .version("2.0.1") //版本
                .contact(new Contact("林林","www.baidu.com","10056443@qq.com"));
        ApiInfo apiInfo = apiInfoBuilder.build();

        docket.apiInfo(apiInfo) //指定生成的文档中的封面信息:文档标题,版本,作者
                .select()
                .apis(RequestHandlerSelectors.basePackage("com.linlin.fmmall.controller"))
                .paths(PathSelectors.any())
                .build();

        return docket;
    }

}

2.3 测试

启动springboot应用,浏览器访问:http://localhost:8081/swagger-ui.html

 2.4 knife4j插件

在pom文件中替换swagger的两个依赖

        <!-- https://mvnrepository.com/artifact/com.github.xiaoymin/knife4j-spring-boot-starter -->
        <dependency>
            <groupId>com.github.xiaoymin</groupId>
            <artifactId>knife4j-spring-boot-starter</artifactId>
            <version>3.0.3</version>
        </dependency>

启动springboot应用,浏览器访问:http://localhost:8081/doc.html