众多接口管理工具如雨后春笋搬冒出。让人欣慰的是,有许多优秀作品来自国内,包含 YApi 和 rap。
看着中文的官网,熟悉的汉语,不禁让人暗爽。当然这也就带来另一个弊端,因为使用基数少,所以参考资料少。我们想学习使用方法,只能依赖官方文档,也算是福祸相倚了。
本文将带您走进 Yapi 的世界,让您体验一回小清新的接口管理工具。
YApi 有什么用
根据统计,市面上互联网项目超过 10 亿,保守统计涉及的 API 数量有 100 亿。但是很多 API 的质量堪忧。因为与 API 相关的文档、调试、测试和数据 Mock 在工作中效率非常低。
我们急需一款产品,它需要具有接口管理功能,提供调试,文档管理和测试功能。这时 YApi 横空出世。
这是一个接口管理平台,可以帮助开发者创建、发布和维护 API。YApi 还为用户提供了优秀的交互体验。开发人员只需利用平台提供的接口数据写入工具以及简单的点击操作就可以实现接口的管理。
图片来自 YApi 官网
YApi 的安装并不是点点点,你需要下载 mongoDB 数据库,然后才可以部署。由于文章篇幅有限,就不展示具体安装过程了。
YApi 的地位如何
YApi 适合公司业务比较复杂,尤其是跨部门协作的情况下使用,和它类似的工具还有 rap、swagger、moco。
rap 也具有图形界面,但火爆程度逐渐不如 yapi。而 swagger 呢,是一个超级强大的工具,它的野心已经不满足于接口管理,后续课程会讲到它。
moco 在 13 年获取 Duke 选择奖,moco 的使用也很简单,维护一份 json 文件,然后利用命令运行。
在这么多工具面前,YApi 能够脱颖而出实属不易。在实际工作中,YApi 和 swagger 属于两个流派,前者易于管理,有着友好的 UI 界面,但生态弱,依赖人工和 UI 维护。而 swagger 呢,是一个十足的野心家,已经提供 api 全生命周期的解决方案,它已经不是工具,已然成为了标准。
3 进入 YApi
进入 YApi 后,这页面,这 UI,确实小清新,不愧是后起之秀。这里简单进行介绍,它主要有下面四个部分:
首页头部展示了当前所在的位置、搜索框、新建项目、查看文档和用户信息。
首页左侧展示分组信息,“分组”是“项目”的集合,只有超级管理员可以管理分组。
首页右侧是分组下的项目和成员列表,点击左侧的某个分组,右侧会出现该分组下的项目和成员信息。
点击项目右上角的星星即可关注项目,关注的项目可以在“我的关注”页面查看。
其实不光是首页 UI,他的项目 UI 也令人咋舌,在 UI 上这么清新的国内平台已经非常少见。
清晰项目布局
点击一个项目,进入项目页,项目页展示了属于该项目的全部接口。并提供项目、接口的全部操作。
项目页左侧的“接口列表”展示了该项目下的所有接口,右侧默认显示该项目下所有接口的列表。
点击左侧的某个接口,右侧会出现“预览”、“编辑”和“运行”。
点击左侧的“测试集合”使用测试集功能。
点击二级导航的“设置”,项目组长即可编辑项目信息和管理成员列表。
点击二级导航的“动态”,即可查看项目的操作日志。
如何开始接口
有的读者已经迫不及待了!下面用一个简单例子来入门 YApi,在项目里新建接口,这时会弹出一个窗口,几个选项都很清楚,接口路径是什么?这是方便前端调用后端,而设置的接口路径:
点击新添加的接口,右侧可以看到接口的预览信息,点击右侧的编辑进入编辑面板。在该面板中你可以看到接口的基本信息 (接口名称、分类、路径),除此以外,你还可以完善以下接口信息:
接口路径:可以更改 HTTP 请求方式,并且支持 restful 动态路由,例如 /api/{id}/{name}, id 和 name 是动态参数
状态:用于标识接口是否开发完成。
Tag:用于标识接口 tag 信息(v1.3.23+), 在接口 list 页可以根据 tag 过滤接口
我们接着往下看,你会看到请求参数,可以设置请求时需要哪些参数,它们可以是必需,也可以是不必须:
Query 参数:接口 url 的查询字符串。点击『添加 Query 参数』按钮来添加参数,可以通过拖动来交换参数位置
Headers:http 请求头字段。在 req_body 形式是 form 格式下会在 header 中自动生成 ‘Content-Type application/x-www-form-urlencoded’,其他 3 种格式也会自动生成不同 header
请求参数后面是返回数据,它分为 json & raw 两种形式。基于 mockjs 和 json5,这是一种使用注释的方式写参数说明,如果你看不懂,请注意下面的链接,这是官网对 Mock 的介绍。
Mock 介绍:
https://hellosean1025.github….
上面只是对接口的设置,但我们经常遇到一些情况,比如我想根据不同的请求参数、IP 返回不同的 HTTP Code、HTTP 头和 JSON 数据,这么复杂的情况,接口设置是无法做到的,期望 Mock 登场!它说:“你们靠边站,我可以做到!”
期望 Mock
期望 Mock 可以根据设置的请求过滤规则,返回期望数据,这是一个高端玩家。要想使用它,你要先进入接口详情页,然后点击高级 Mock。
点击添加期望,填写过滤规则以及期望返回数据,如下图这样,最后点击确定。
我们在浏览器里测试一下,发送符合规则的请求:
写在最后
就像文中说的那样,在这么多工具面前,YApi 能够脱颖而出实属不易。在实际工作中,YApi 和 swagger 属于两个流派。前者易于管理,有着友好的 UI 界面,但生态弱,依赖人工和 UI 维护。而 swagger 呢,是一个十足的野心家,已经提供 api 全生命周期的解决方案,它已经不是工具,已然成为了标准。