开端
Everybody,好久不见,因为开学的原因,已经拖更了半个多月。周末总算是闲下来写写博文,主要还是不想学习学校里教的那些东西。
我们都知道,API 接口是一个非常神圣的内容。你做的好,前后端开发人员情同手足,和和美美;你做的不好,说不定他们每天一见面就要吵。在现在这个阶段,大家更倾向于使用一些已有的框架来进行API文档的开发,这样更加方便管理。尤其是动态更新 API 文档,更加省去了后端程序员一大部分的工作。在《阿里巴巴 Java 开发手册》中写到,API 文档和 Javadoc 就是为了方便他人阅读和理解程序而设计的,后端程序员若是更改了源代码而没有对应修改文档或注释,那文档和注释就没有了他们存在的意义。
所以今天,我就来讲一个快速生成 API 文档的框架——Swagger。没错,他就是那么 Swag!以及如何整合到项目中去,包含了后端的注解生成器与前端嵌入式的页面显示方案。话不多说,那我们就开始吧。
补充:实践过程中遇到特殊问题,请前往下方链接下载 dist 文件夹的内容并导入至项目文件中
介绍
为了解决前面讲到的问题,人们就提出了各种解决方案,方案用的人一多,就自成了一套体系,成了一套规范,这就是 Swagger 的由来。
按照新的开发模式,只要每次更新 Swagger 的描述文件,就可以自动生成接口文档。但即便如此,仍旧需要开发人员每次修改 yml 或 json 文件。人都是有惰性的,久而久之就再一次忽略了描述文件的修改,导致更新不同步。因此急需更加简便的方案。
所以作为Java届服务端的大一统框架Spring,迅速将Swagger规范纳入自身的标准,建立了 Spring-swagger 项目,后面改成了现在的 Springfox。在项目中引入 Springfox 之后,可以扫描代码并生成描述文件,同步接口文档,实现自动化管理。就目前来说已经是最重要且高效的几个生成接口文档的方式之一了。

整合
介绍不多说,直接开始整合。关于阿里云仓库的使用我就粘贴我的另一篇文章中的内容,免得大家频繁跳转页面。
使用阿里云仓库
众所周知,如果你从 github clone 一个项目,如果没有梯子下载 jar 包可能就要花几个小时的时间。还好阿里爸爸给我们提供了镜像仓库,几分钟就能解决 jar 包的问题。关于引用仓库可以在 maven 配置中修改:
<mirror>
<id>aliyunmaven</id>
<mirrorOf>*</mirrorOf>
<name>阿里云公共仓库</name>
<url>https://maven.aliyun.com/repository/public</url>
</mirror>
不过我还是推荐大家在自己的项目中加入仓库,灵活性更高:
<repositories>
<repository>
<id>alimaven</id>
<name>aliyun maven</name>
<url>https://maven.aliyun.com/repository/public</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>