什么是Yapi
YApi 是由去哪儿移动架构组推出的一款开源项目,是高效、易用、功能强大的 api 管理平台,旨在为开发、产品、测试人员提供更优雅的接口管理服务。
官网:https://yapi.ymfe.org/,Yapi具有以下功能特性
权限管理
扁平化权限设计,即保证了大型企业级项目的管理,又保证了易用性。
可视化接口管理
基于 websocket 的多人协作接口编辑功能和类 postman 测试工具,让多人协作成倍提升开发效率。
Mock Server
易用的 Mock Server,MockServer 除支持普通的随机 mock 外,还增加了 Mock 期望功能,根据设置的请求过滤规则,返回期望数据。
自动化测试
完善的接口自动化测试,保证数据的正确性,支持对 Response 断言。
数据导入
接口支持导入 swagger, postman, har 数据格式,方便迁移旧项目。
插件机制
强大的插件机制,满足各类业务需求。
个人为什么选择会用它
- 多人协作管理接口,避免满屏幕的txt、word文档
- 内网部署,避免数据泄露
- 图形化操作,好用
- 以服务的形式来部署,新建一个账号一个团队即可使用
- 外加Postman的测试接口功能
环境 nodejs(7.6+) mongo(2.6+)
nodejs
安装
1 2 3
| $ sudo apt update $ curl -sL https://deb.nodesource.com/setup_9.x | sudo -E bash - $ sudo apt install -y nodejs
|
npm
安装
注:建议再安装nvm
,方便管理node
版本
mongodb安装
1 2 3
| $ sudo apt install mongodb $ mongo version MongoDB shell version: 2.6.10
|
启动mongo
测试mongodb是否启动成功
访问http://localhost:27017/
,页面显示
1
| It looks like you are trying to access MongoDB over HTTP on the native driver port.
|
安装YApi
官方推荐的可视化部署方式
1 2 3 4 5
| $ npm install -g yapi-cli --registry https://registry.npm.taobao.org
//启动yapi server $ yapi server 在浏览器打开 http://0.0.0.0:9090 访问。非本地服务器,请将 0.0.0.0 替换成指定的域名或ip
|
显示部署页面
点击开始部署
部署完成后访问http://localhost:3000
登录账号admin@admin.com
密码ymfe.org
Docker部署
docker部署安装yapi框架
Yaml文件部署
将下面的示例复制粘贴下来命名为 docker-compose.yml
:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
| version: '3'
services: yapi-web: image: jayfong/yapi-x:latest container_name: yapi-web ports: - 40001:3000 environment: - YAPI_ADMIN_ACCOUNT=admin@docker.yapi - YAPI_ADMIN_PASSWORD=adm1n - YAPI_CLOSE_REGISTER=true - YAPI_DB_SERVERNAME=yapi-mongo - YAPI_DB_PORT=27017 - YAPI_DB_DATABASE=yapi - YAPI_MAIL_ENABLE=false - YAPI_LDAP_LOGIN_ENABLE=false - YAPI_PLUGINS=[] depends_on: - yapi-mongo links: - yapi-mongo restart: unless-stopped yapi-mongo: image: mongo:latest container_name: yapi-mongo volumes: - ./data/db:/data/db expose: - 27017 restart: unless-stopped
|
使用命令docker-compose up -d
运行后,通过http://localhost:40001
即可访问 YApi-X。
部署成功后,显示:
遇到的问题
1 2
| > yapi-vendor@1.9.2 install-server > node server/install.js Error: internal/modules/cjs/loader.js:800 throw err; ^ Error: Cannot find module 'fs-extra' Require stack: - /home/neo/my-yapi/vendors/server/install.js at Function.Module._resolveFilename (internal/modules/cjs/loader.js:797:15) at Function.Module._load (internal/modules/cjs/loader.js:690:27) at Module.require (internal/modules/cjs/loader.js:852:19) at require (internal/modules/cjs/helpers.js:74:18) at Object.<anonymous> (/home/neo/my-yapi/vendors/server/install.js:1:12) at Module._compile (internal/modules/cjs/loader.js:959:30) at Object.Module._extensions..js (internal/modules/cjs/loader.js:995:10) at Module.load (internal/modules/cjs/loader.js:815:32) at Function.Module._load (internal/modules/cjs/loader.js:727:14) at Function.Module.runMain (internal/modules/cjs/loader.js:1047:10) { code: 'MODULE_NOT_FOUND', requireStack: [ '/home/neo/my-yapi/vendors/server/install.js' ] }
|
参考资料
YApi 安装出现问题请看这里
Error Cannot find module ‘fs-extra’
YApi教程