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

什么是 Swagger ?

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

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

官网:https://swagger.io/

一:新建SpringBoot工程

SpringBoot集成Swagger以及配置自定义Swagger信息_第1张图片
SpringBoot集成Swagger以及配置自定义Swagger信息_第2张图片
勾选Web依赖
SpringBoot集成Swagger以及配置自定义Swagger信息_第3张图片
项目搭建好了 将这些无关紧要的可以删除
SpringBoot集成Swagger以及配置自定义Swagger信息_第4张图片
写个controller进行测试
SpringBoot集成Swagger以及配置自定义Swagger信息_第5张图片
在这里插入图片描述
没问题~

二:导入Swagger相关的依赖

SpringBoot集成Swagger以及配置自定义Swagger信息_第6张图片

		<dependency>
            <groupId>io.springfoxgroupId>
            <artifactId>springfox-swagger2artifactId>
            <version>2.9.2version>
        dependency>
        <dependency>
            <groupId>io.springfoxgroupId>
            <artifactId>springfox-swagger-uiartifactId>
            <version>2.9.2version>
        dependency>

三:配置Swagger的config

SpringBoot集成Swagger以及配置自定义Swagger信息_第7张图片

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

SpringBoot集成Swagger以及配置自定义Swagger信息_第8张图片

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

为什么要访问这个页面呢,来看下源码~
SpringBoot集成Swagger以及配置自定义Swagger信息_第9张图片

四:配置Swagger信息

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

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

接下来看源码了解一下~
进入Docket类
SpringBoot集成Swagger以及配置自定义Swagger信息_第10张图片
SpringBoot集成Swagger以及配置自定义Swagger信息_第11张图片
SpringBoot集成Swagger以及配置自定义Swagger信息_第12张图片

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

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

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

此时我们暂未知 new Docket()参数应该填啥 进去Docket类中看看
SpringBoot集成Swagger以及配置自定义Swagger信息_第13张图片
SpringBoot集成Swagger以及配置自定义Swagger信息_第14张图片

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

再查看Docket类有啥方法
SpringBoot集成Swagger以及配置自定义Swagger信息_第15张图片
于是乎… 我们整一个自定义的api信息

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

不知道里面应该写啥 就看看apiInfo类呗~
SpringBoot集成Swagger以及配置自定义Swagger信息_第16张图片
SpringBoot集成Swagger以及配置自定义Swagger信息_第17张图片
滑到最下面 可以看到
嗯~
嗯~ 我们直接返回一个这个就行了

//配置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());
    }

可以看到 下面这里爆红了~
SpringBoot集成Swagger以及配置自定义Swagger信息_第18张图片
查看源码发现 原来是静态成员变量呀
SpringBoot集成Swagger以及配置自定义Swagger信息_第19张图片
那我们就自己整一个替换就好了

 //配置Swagger信息
    public ApiInfo apiInfo(){
        //作者信息
        Contact contact = new Contact("潮汕奴仔", "", "");
        return new ApiInfo(
                "潮汕奴仔配置Swagger",
                "潮汕奴仔 Api Documentation",
                "C1.0",
                "urn:tos",
                contact,
                "Apache 2.0",
                "http://www.apache.org/licenses/LICENSE-2.0",
                new ArrayList());
    }

SpringBoot集成Swagger以及配置自定义Swagger信息_第20张图片

最后调用这个api信息
SpringBoot集成Swagger以及配置自定义Swagger信息_第21张图片

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

SpringBoot集成Swagger以及配置自定义Swagger信息_第22张图片

大功告成

你可能感兴趣的:(#,SpringBoot,restful,spring,boot,Swagger)