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": "[email protected]",
"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;