API 管理平台工具该如何选择
调研
市面上的API 管理平台很多, 比如 :
swagger
优点
:
- OpenAPI,不针对特定的语言的API
- 支持Json和yaml来编写API文档,并且支持导出为json、yaml、markdown等格式
- 自动生成相应的SDK
- 界面清晰,无论是editor的实时展示还是ui的展示都十分人性化
缺点
:
- 代码的侵入太大
- 并没减少后端工作量
- 不支持 Mock Server
- 无团队功能, 比如权限控制
- yaml文件只能和API项目本身放在一起
- 官方文档不够完善, 只有介绍不同模块
YAPI
优点
:
- UI 舒服, 用户操作体验极佳
- 可视化接口管理, 支持附件上传、图片预览等场景富文本编辑器功能
- 支持内网部署
- 在线测试, 自动化测试
- 多版本/ 团队协作功能
- Mock Server
- 多种格式的数据导入导出
- 支持自定义插件
- 提供开发 API
Docway
我开始用的时候 还叫 小幺鸡, 除了自定义插件功能没有 其他基本和 YAPI 相似
RAP2
优点
:
- Mock Server
- 支持JSON/XML数据导入
- 支持内网部署
- 团队协作功能
功能基本类似 YAPI
eolinker
优点
:
功能强大跟 YAPI 相似, 除了 API 管理, 还有提供了微服务网关, API 监控等功能, 数据库管理等.
比较适合初创团队
缺点
:
- 这么多功能当然不是白给的, 白嫖是不可能白嫖的
需求
看了这么多, 还是需要考虑一下我们的基本需求.
- 最少工作量, 期望是我只在代码, 或者文档, 或者脚本 其中一处写上说明, 其他地方不用重复编辑, 不想多写除了备注说明以外的东西
- 开源, 能白嫖就绝不白给
- 团队协作功能, 需要权限管理, 项目分组, 人员分组, 项目移动, 复制等功能
- 独立部署, 基本开发文档都不能对外, 开源之前一般也不会选择放在在线平台上
- 自动化测试, 在线测试
- Mock Server
- 数据导入导出 支持 markdown, json , postman
- 支持二次开发
好了看到这里, 基本可以确定使用YAPI, 下面简单介绍一下 如何使用 YAPI
方案
这里我们使用
YAPI
+ idea plugin:EasyYapi
的组合.
优点
- 非常全面的 API 管理功能.
- YAPI 可以无缝对接 swagger , 为 api 迁移提供便利
- YAPI 的开放 API 和插件机制提供了很好的伸缩性, 为定制化和扩展提供了可能. 可以对接 其他类似 CI 的平台
- EasyYapi 提供 api 多种导出功能
- 使用 EasyYapi 的同时, 可以使代码注释更加规范.
写在最后
还是老三样. 欢迎 点赞, 转发, 评论 ~