做过前后端分离的童鞋,对于这个插件应该不陌生。在最初的前后端开发模式中,系统开发前前后端的童鞋大家坐下来先定义一下接口,商量好入参出参,然后后端按着开发设计文档去开发接口。但是,再好的设计都有遗漏的地方,然后做着做着就会发现这里少了个参数,那里参数类型不对等等问题,这个时候不光要改代码,还要忙着把接口定义文档给修改一遍。如果这个时候,产品经理再来插一脚,那个场面,大家自己脑补吧。
有什么东西能够在线编辑,同步更新呢?钉钉和腾讯文档已经帮你解决了,但是这个文档谁去维护?前端?后端?
前端:这个接口是你开发的,你应该维护
后端:wc,我这都忙成狗了,饶了我吧
Swagger:后端大神,你别慌,我来帮你
这个时候,Swagger应运而生。项目中如何使用Swagger,下面我们来上手操作:
1、引入依赖
<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>
2、编写配置文件
3、编写测试类
4、启动项目,输入http://localhost:8080/swagger-ui.html
我们就能看到在线接口文档,我们还能直接进行调试,点击右上角“try it out”,并执行Execute:
接口测试结果
至此,Swagger2配置成功!
But,我发现这个Swagger页面有点丑,接口测试用的也不舒服,那么我们再给它优化下。
1、引入swagger-bootstrap-ui
<dependency>
<groupId>com.github.xiaoymin</groupId>
<artifactId>swagger-bootstrap-ui</artifactId>
<version>1.9.3</version>
</dependency>
2、重新启动项目,输入http://localhost:8080/doc.html
ps:
这个接口UI页面我们要想在header中添加token什么的佐料,直接点击Swagger Models添加全局参数即可。