随着前后端分离的趋势,后端与前端的桥梁 Http Api 的管理 越来越困难

这里的困难主要体现在以下几点:

  1. 后端维护接口文档 & 前端依赖接口文档; 文档编写麻烦 & 文档需要及时更新

    解决方法:swagger、apidoc 等文档生成工具

  2. 前端在开发某些业务时,需要等待后端接口完成后才能进行开发

    解决方法:js虚拟数据对象、mock数据 等虚拟数据生成工具

  3. 测试用例依赖文档,并且每次文档的更新都会影响测试用例的执行

    解决方法:APIAutoTest、JMeter 等自动化测试工具

虽然每个问题都有相应的解决方法 但是把这些统一管理起来 又是一个难题 。

这里由去哪儿网大前端技术中心(YMFE)开源的 Yapi 可以为我们解决这个问题。

安装之类的官方文档已经写的很清楚了 这里不做过多的称述。

架构

接口管理平台架构
接口管理平台架构

首先是Yapi的数据录入

yapi支持手动和自动两种方式录入

这里是采用自动导入再手动进行调整

如果后端Api项目引入了Swagger管理那么最轻松 应为 yapi 支持Swagger的导入 不需要多余的配置 就可以直接使用了。

如果没有就需要以下两种方式采集了

手机抓包(fiddler) + PostMan Collections

这种方式适合 之前没有文档又不想追代码去找各种接口参数的人

  1. 首先设置手机代理为fiddler的监听端口
  2. 操作手机走各种业务流程
  3. 从fiddeer中搜寻与业务有关的请求
  4. 存入PostMan Collections中 (postman是有google开发的接口测试插件 collections中的收藏的文件夹中的请求可以批量执行)

    注意: 放入的时候需要保存返回数据,不然导入到Yapi 返回值为空

  5. Collections 中的数据可直接导入到Yapi

Chrome HAR

有时候PostMan 并不能满足网页端一些请求的导出 如:需要用户操作满足一些条件时 才会发起请求

这个时候就可以使用Chrome 自带的调试工具network选项 直接右键(Save as HAR…)