随着前后端分离的趋势,后端与前端的桥梁 Http Api 的管理 越来越困难
序
这里的困难主要体现在以下几点:
- 后端维护接口文档 & 前端依赖接口文档; 文档编写麻烦 & 文档需要及时更新
解决方法:swagger、apidoc 等文档生成工具
- 前端在开发某些业务时,需要等待后端接口完成后才能进行开发
解决方法:js虚拟数据对象、mock数据 等虚拟数据生成工具
- 测试用例依赖文档,并且每次文档的更新都会影响测试用例的执行
解决方法:APIAutoTest、JMeter 等自动化测试工具
虽然每个问题都有相应的解决方法 但是把这些统一管理起来 又是一个难题 。
这里由去哪儿网大前端技术中心(YMFE)开源的 Yapi 可以为我们解决这个问题。
安装之类的官方文档已经写的很清楚了 这里不做过多的称述。
架构

接口管理平台架构
首先是Yapi的数据录入
yapi支持手动和自动两种方式录入
这里是采用自动导入再手动进行调整
如果后端Api项目引入了Swagger管理那么最轻松 应为 yapi 支持Swagger的导入 不需要多余的配置 就可以直接使用了。
如果没有就需要以下两种方式采集了
手机抓包(fiddler) + PostMan Collections
这种方式适合 之前没有文档又不想追代码去找各种接口参数的人
- 首先设置手机代理为fiddler的监听端口
- 操作手机走各种业务流程
- 从fiddeer中搜寻与业务有关的请求
- 存入PostMan Collections中 (postman是有google开发的接口测试插件 collections中的收藏的文件夹中的请求可以批量执行)
注意: 放入的时候需要保存返回数据,不然导入到Yapi 返回值为空
- Collections 中的数据可直接导入到Yapi
Chrome HAR
有时候PostMan 并不能满足网页端一些请求的导出 如:需要用户操作满足一些条件时 才会发起请求
这个时候就可以使用Chrome 自带的调试工具network选项 直接右键(Save as HAR…)