Swagger

Posted by kyle on October 21, 2018

API文档工具与API框架

API文档工具:如RAP,其主要目的是为了帮助我们快速编写文档。但接口代码和文档分离,需要开发人员自行维护代码和文档的同步。有的API文档工具提供Mock测试。

API框架:编写接口代码的同时,自动生成接口文档。同时支持接口代码的逆向生成、接口测试。

Swagger介绍

Swagger是一个流行的API开发框架,这个框架以“开放API声明”(OpenAPI Specification,OAS)为基础,对整个API的开发周期(设计、编码和测试)都提供了相应的解决方案,几乎支持所有语言。

OAS本身是一个API规范,它用于描述一整套API接口(包括描述接口的请求方式,参数,Header等),它的描述格式有两种:YAML、JSON。

Swagger核心组件

| 组件 | 职能 | | :——: | :—— | | swagger-core | 生成OAS文件,提供简单的接口访问 | | swagger-codegen | 根据OAS文件生成相应语言的接口代码 | | swagger-ui | 根据OAS文件生成API WEB文档 | | swagger-editor | OAS文件编辑工具、根据OAS文件生成接口文档与接口代码 |

SpringFox

将Swagger集成到Spring框架中,并重写了Swagger UI,让Swagger UI可以随着Spring容器一起启动,以此来达到让接口文档与项目强关联的效果。

参考资料:

[1] 阳光真好. Springfox与swagger的整合使用. https://www.cnblogs.com/getupmorning/p/7267076.html. 2017-08-01

[2] Ryu_Gou. 5分钟了解swagger. https://blog.csdn.net/i6448038/article/details/77622977. 2017-08-27

[3] 阿里云. springfox-swagger原理解析及使用过程中可能会遇到的坑. https://www.aliyun.com/jiaocheng/804257.html