Spring Boot 集成 Swagger,再也不写接口文档了!

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring Boot 集成 Swagger,再也不写接口文档了!相关的知识,希望对你有一定的参考价值。

参考技术A

Spring Boot 集成 Swagger

1、添加依赖

Maven依赖示例:

2、在 Spring Boot 配置文件中添加配置参数。

3、添加配置类

如何使用

Swagger 默认会根据配置的包,扫描所有接口并生成对应的 API 描述和参数信息,但这样不是很直观,需要对每个接口和参数进行自定义描述。

常用的 Swagger 注解如下。

使用示例如:

http://localhost:8080/swagger-ui.html

打开 swagger-ui 界面,可以看到所有的 API 接口定义,也可以在上面发起接口测试。

34张架构史上最全技术知识图谱

spring boot集成Swagger2

第一步:jar包的引入

<!-- swagger -->
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger2</artifactId>
            <version>2.6.1</version>
        </dependency>
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger-ui</artifactId>
            <version>2.6.1</version>
        </dependency>

第二步:swagger的配置启动类

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

/**
 * @Auther: lanhaifeng
 * @Date: 2019/6/3 0003 10:51
 * @Description:
 * @statement: 百度一下
 */
@Configuration
@EnableSwagger2
public class Swagger2 

    //swagger2的配置文件,这里可以配置swagger2的一些基本的内容,比如扫描的包等等
    @Bean
    public Docket createRestApi() 
        return new Docket(DocumentationType.SWAGGER_2)
                .apiInfo(apiInfo())
                .select()
                //扫描的controller包
                .apis(RequestHandlerSelectors.basePackage("com.baidu.business.core.controller"))
                .paths(PathSelectors.any())
                .build();
    

    //构建 api文档的详细信息函数,注意这里的注解引用的是哪个
    private ApiInfo apiInfo() 
        return new ApiInfoBuilder()
                //页面标题
                .title("百度客户端 Swagger2 构建RESTful API")
                //创建人
                .contact(new Contact("baidu", "http://www.baidu.com", "@emall").toString())
                //版本号
                .version("1.0")
                //描述
                .description("API 描述")
                .build();
    

 

以上是关于Spring Boot 集成 Swagger,再也不写接口文档了!的主要内容,如果未能解决你的问题,请参考以下文章

Spring boot集成swagger2

spring boot.2x 集成swagger 加入拦截器后 swagger不能访问

Spring Boot 入门:集成 swagger2

Spring Boot 集成swagger2

spring boot集成Swagger2

Spring boot - 集成Swagger2