SpringBoot集成Swagger以及配置自定义Swagger信息

什么是 Swagger ?

据说是避免 前后端干架的必备工具… 它的职责就是前后端分离

    它号称是世界上最流行的API框架 RestFul Api 文档在线自动生成工具 => Api文档和API定义同步更新 直接运行,可以在线测试API接口 支持多种语言…

官网:https://swagger.io/

一:新建SpringBoot工程

勾选Web依赖 项目搭建好了 将这些无关紧要的可以删除 写个controller进行测试 没问题~

二:导入Swagger相关的依赖

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

三:配置Swagger的config

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

注意:这里访问不了这个页面可能是因为依赖级别太高了尝试降级试试 Version 2.9.2

为什么要访问这个页面呢,来看下源码~

四:配置Swagger信息

整到这里,你是否有了疑问,为啥有这个页面呢

这其实就是swagger默认配置的页面

接下来看源码了解一下~ 进入Docket类

原来如此:那么我们也可以自定义swagger配置玩一玩!

在Swagger的配置文件中注册Swagger的Docket实例bean对象

@Configuration
@EnableSwagger2 //开启Swagger2
public class SwaggerConfig {
          
   
    //配置了Swagger的 Docket 的bean实例
    @Bean
    public Docket docket(){
          
   
        return new Docket();
    }
    ...

此时我们暂未知 new Docket()参数应该填啥 进去Docket类中看看

那么我们就可以修改成 new Docket(DocumentationType.SWAGGER_2);

再查看Docket类有啥方法 于是乎… 我们整一个自定义的api信息

//配置Swagger信息
    public ApiInfo apiInfo(){
          
   
      
    }

不知道里面应该写啥 就看看apiInfo类呗~ 滑到最下面 可以看到 嗯~ 我们直接返回一个这个就行了

//配置Swagger信息
    public ApiInfo apiInfo(){
          
   
        return new ApiInfo(
                "Api Documentation",
                "Api Documentation",
                "1.0",
                "urn:tos",
                DEFAULT_CONTACT,
                "Apache 2.0",
                "http://www.apache.org/licenses/LICENSE-2.0",
                new ArrayList());
    }

可以看到 下面这里爆红了~🐕 查看源码发现 原来是静态成员变量呀 那我们就自己整一个替换就好了

最后调用这个api信息

启动访问 http://localhost:8080/swagger-ui.html

大功告成

经验分享 程序员 微信小程序 职场和发展