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