yapi 是什么
YApi 是高效、易用、功能强大的 api 管理平台,旨在为开发、产品、测试人员提供更优雅的接口管理服务。提供了 api 文档管理,api 数据 模拟(Mock),调试和自动化测试 api 等功能可以帮助开发者轻松创建、发布、维护 API,YApi 还为用户提供了优秀的交互体验,开发人员只需利用平台提供的接口数据写入工具以及简单的点击操作就可以实现接口的管理。简单点就是说,前后程序员可以减少接触,以减少不必要的争♂吵!
主要解决前后端分离带来的以下痛点:
1、接口文档不可靠。很多小伙伴管理接口文档,有使用wiki的,有word文档的,甚至还有用聊天软件口口相传的,后端接口对于前端就像一个黑盒子,经常遇到问题是接口因未知原因增加参数了,参数名变了,参数被删除了。
2、mock 数据生成方案没有统一出口。我们都有这样的经历,前端开发功能依赖后端,解决方案有自己在代码注入json的,还有后端工程师临时搭建一套测试数据服务器,这种情况下势必会影响工作效率和代码质量,也不能及时进行更新。
3、资源分散,无法共享。接口调试每个开发者单独维护一套Postman接口集,每个人无法共用其他人的接口集,存在大量重复填写请求参数工作,最重要的是postman没法跟接口定义关联起来,导致后端没有动力去维护接口文档。
4、集成 api 自动化测试困难。yapi 提供了可视化的 api 自动化测试方案,只需要简单的填写参数,增加断言,就能实现 api 自动化测试。
环境要求
nodejs(7.6+)
mongodb(2.6+)
安装mongodb
首先安装阿里云镜像这里呢需要在/etc/yum.repos.d
目录下创建mongodb-org.repo
的一个文件
并在文件中加入如下
[mongodb-org]
name=MongoDB Repository
baseurl=http://mirrors.aliyun.com/mongodb/yum/redhat/7Server/mongodb-org/3.2/x86_64/
gpgcheck=0
enabled=1
然后
yum install -y mongodb-org
systemctl start mongod
systemctl enable mongod
然后呢进入mongodb 创建一个用户
mongo
use api
db.createUser({user:'api',pwd:'wangle',roles:[{role:'readWrite',db:'api'}]})
#验证
db.auth('api','wangle')
安装 nodejs
curl --silent --location https://rpm.nodesource.com/setup_8.x | sudo bash -
yum -y install nodejs
如果没有编译环境,则需要yum install gcc-c++ make -y
安装与配置YApi工具
这里采取了离线安装,原因不多说
mkdir yapi
cd yapi
tar zxvf yapi-1.5.7.tar.gz
cd yapi-1.5.7
当然如果网速给力的话可以在服务器上安装git 然后clone仓库也行
git clone https://github.com/YMFE/yapi.git
yapi工具包
npm install -g yapi-cli --registry https://registry.npm.taobao.org
修改配置文件
{
"port": "3000",
"adminAccount": "admin@admin.com",
"db": {
"servername": "0.0.0.0",
"DATABASE": "api",
"port": 27017,
"user": "api",
"pass": "wangle"
},
"mail": {
"enable": false,
"host": "smtp.163.com",
"port": 465,
"from": "***@163.com",
"auth": {
"user": "***@163.com",
"pass": "*****"
}
}
}
然后更改 server 目录下的yapi.js
这个文件 把里面的
const config = require('../../config.json');
改为 相对目录下的json配置文件 或者直接拼绝对路径也行
const config = require('../config.json');
安装node模块
npm install --production --registry https://registry.npm.taobao.org
安装yapi软件
npm run install-server
启动服务
node server/app.js &
访问http://ip:3000
即可
另附上一个谷歌浏览器插件,后续在YApi调试接口中会用到 crossRequest
后台启动
forever 包搞定,解决方案如下:
sudo npm install -g forever --registry=http://registry.cnpmjs.org
forever start
你的脚本文件(如server.js)
forever list
查看所有 forever 运行的进程
forever stop uid
停止运行指定 uid 的进程
sudo npm install forever -g #安装
forever start app.js #启动
forever stop app.js #关闭
forever start -l forever.log -o out.log -e err.log app.js #输出日志和错误
代理方式:
如果是从nginx代理,请配置nginx支持websocket
在location /添加
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_pass http://ip:port;