背景
在之前有些时日,曾经写过一个API管理平台——DOClever,但是总觉得界面上稍微差了点,刚好之前有朋友在评论区留言,让我知道了今天要介绍的这个平台YAPI,YApi 是一个可本地部署的、打通前后端及QA的、可视化的接口管理平台,由去哪儿网 YMFE 团队推出,在体验之后,感觉从各方面来说可能都要比DOClever要强上一些,因此也是要分享给大家的!
![34b9189c08fb7381628db05c52bbb200.png](https://img-blog.csdnimg.cn/img_convert/34b9189c08fb7381628db05c52bbb200.png)
官网和Github
官网:
http://yapi.demo.qunar.com/
Github:
https://github.com/YMFE/yapi
![b0a07e2cec9908f1ec6752fb1605b17f.png](https://img-blog.csdnimg.cn/img_convert/b0a07e2cec9908f1ec6752fb1605b17f.png)
环境准备
因为我们在本地部署,那么本地也需要一些环境(环境安装不在介绍):
- nodejs(7.6+)
- mongodb(2.6+)
- git
环境满足的话我们直接安装,安装方式很简单,官方提供了直接命令行方式部署,如果慢的话,请使用替换npm的国内镜像
- 源码安装
npm install -g yapi-cli --国内镜像yapi server
启动后打开127.0.0.1:9000,如下图所示,对一些信息进行填写配置,包括数据库的信息
![0b3c84a54e6145620990d32f0da19ba3.png](https://img-blog.csdnimg.cn/img_convert/0b3c84a54e6145620990d32f0da19ba3.png)
部署日志:
![529aa42285d59f8572b64d9624cc200e.png](https://img-blog.csdnimg.cn/img_convert/529aa42285d59f8572b64d9624cc200e.png)
![e03529af3449167bd2d25822cab55490.png](https://img-blog.csdnimg.cn/img_convert/e03529af3449167bd2d25822cab55490.png)
成功后根据提示到文件目录C:WindowsSystem32my-yapi,执行以下命令
node vendors/server/app.js
不出意外已经启动成功,然后我们打开127.0.0.1:3000,进入以下界面和官网一样
![17161e9e9e99d9d8cce9e36967af4c84.png](https://img-blog.csdnimg.cn/img_convert/17161e9e9e99d9d8cce9e36967af4c84.png)
初始化管理员账号成功,账号名:"admin@admin.com",密码:"ymfe.org",我们使用它来登录,会出现一些指引,如下图所示
![916b25ce931cd6e0f29813a4ebca3679.png](https://img-blog.csdnimg.cn/img_convert/916b25ce931cd6e0f29813a4ebca3679.png)
用户管理
![42456f76358d64e6ef6bc4a96d787913.png](https://img-blog.csdnimg.cn/img_convert/42456f76358d64e6ef6bc4a96d787913.png)
系统信息
![53d9151c19869e08f9482433d354b5e3.png](https://img-blog.csdnimg.cn/img_convert/53d9151c19869e08f9482433d354b5e3.png)
新建项目
![d8373ff75863338ec80aefe48a4f70ad.png](https://img-blog.csdnimg.cn/img_convert/d8373ff75863338ec80aefe48a4f70ad.png)
项目建完之后,我在这测试了下接口,你可以对你的环境进行下配置,在测试接口请求之前你需要安装一下cross-request插件,已经内置提供了zip压缩包,你可以下载离线安装谷歌插件
环境配置
![abcaad6cafec622369ed1c0b9dbe64da.png](https://img-blog.csdnimg.cn/img_convert/abcaad6cafec622369ed1c0b9dbe64da.png)
请求接口
![f287c6edca91449675a2c549278dc9a5.png](https://img-blog.csdnimg.cn/img_convert/f287c6edca91449675a2c549278dc9a5.png)
查询动态
![93d28025edb593d2c6dea960c03d590c.png](https://img-blog.csdnimg.cn/img_convert/93d28025edb593d2c6dea960c03d590c.png)
支持从其他地方导入,入postman、swagger等
![f68b3fb857b53e2b7bb725ae65035db2.png](https://img-blog.csdnimg.cn/img_convert/f68b3fb857b53e2b7bb725ae65035db2.png)
这只里面包含了很多项目
![5a8e7e691866acab0eaea32c1488116f.png](https://img-blog.csdnimg.cn/img_convert/5a8e7e691866acab0eaea32c1488116f.png)
环境配置
![1256071146bfef3e205c09d30ba9952b.png](https://img-blog.csdnimg.cn/img_convert/1256071146bfef3e205c09d30ba9952b.png)
请求配置
![e2b7b286e133d1b613383fb69d770bc3.png](https://img-blog.csdnimg.cn/img_convert/e2b7b286e133d1b613383fb69d770bc3.png)
token配置
![4d9b4669abf1219051908a26ed207f85.png](https://img-blog.csdnimg.cn/img_convert/4d9b4669abf1219051908a26ed207f85.png)
Mock
![296bb442606e4a2778b0f4f757744f37.png](https://img-blog.csdnimg.cn/img_convert/296bb442606e4a2778b0f4f757744f37.png)
ts services
![5d7db54adf24c69138825f1e53baadc8.png](https://img-blog.csdnimg.cn/img_convert/5d7db54adf24c69138825f1e53baadc8.png)
Swagger同步设置
![3fbbbd79942c5422da9ee729951d970e.png](https://img-blog.csdnimg.cn/img_convert/3fbbbd79942c5422da9ee729951d970e.png)
特性介绍
YApi让接口开发更简单高效,让接口的管理更具可读性、可维护性,让团队协作更合理。
- 基于 Json5 和 Mockjs 定义接口返回数据的结构和文档,效率提升多倍
- 扁平化权限设计,即保证了大型企业级项目的管理,又保证了易用性
- 类似 postman 的接口调试
- 自动化测试, 支持对 Response 断言
- MockServer 除支持普通的随机 mock 外,还增加了 Mock 期望功能,根据设置的请求过滤规则,返回期望数据
- 支持 postman, har, swagger 数据导入
- 免费开源,内网部署,信息再也不怕泄露了
![b66a284fea8b9fc530b3bcd37a94eefa.png](https://img-blog.csdnimg.cn/img_convert/b66a284fea8b9fc530b3bcd37a94eefa.png)
扁平化管理
- 超级管理员(* N)
- 创建分组
- 分配组长
- 管理所有成员信息
- 组长(* N)
- 创建项目
- 管理分组或项目的信息
- 管理开发者与成员
- 开发者(* N) / 成员(* N)
- 不允许创建分组
- 不允许修改分组或项目信息
接口管理的逻辑较为复杂,操作频率高,层层审批将严重拖慢生产效率,因此传统的金字塔管理模式并不适用。
YAPI 将扁平化管理模式的思想引入到产品的权限管理中,超级管理员拥有最高的权限,并将权限分配给若干组长,超级管理员只需管理组长即可,实际上管理YAPI各大分组与项目的是“组长”。组长对分组或项目负责,一般由BU负责人/项目负责人担任。
接口文档
官方的接口文档我在本地测试无法访问,但是在Github源码中找到了它,我们也可以静态部署到本地,非常的方便和人性化,如下图所示
![a1c161c8daa7d83c86e3d852889a0b77.png](https://img-blog.csdnimg.cn/img_convert/a1c161c8daa7d83c86e3d852889a0b77.png)
可通过开放的API对接其它平台,更方便管理和扩展
其他
YAPI的一些其他的介绍可以到github查看,总之很强大
![6b3a8169796e1c766dcff351032e8edd.png](https://img-blog.csdnimg.cn/img_convert/6b3a8169796e1c766dcff351032e8edd.png)
使用者
![4bc52cd2386761a33af19eba4925bfaa.png](https://img-blog.csdnimg.cn/img_convert/4bc52cd2386761a33af19eba4925bfaa.png)
总结
YAPI是一个非常使用且优雅的接口管理平台,功能强大、界面美观、扁平化管理等,非常适合企业内部部署对项目接口进行可视化管理,本地部署更加安全,如果觉得之前的DOCLever不好用,倒是可以试试YAPI,enjoy it!