概述
YApi 是高效、易用、功能強大的 api 管理平台,旨在為開發、產品、測試人員提供更優雅的接口管理服務。可以幫助開發者輕松創建、發布、維護 API,YApi 還為用戶提供了優秀的交互體驗,開發人員只需利用平台提供的接口數據寫入工具以及簡單的點擊操作就可以實現接口的管理。
特性
- 基於 Json5 和 Mockjs 定義接口返回數據的結構和文檔,效率提升多倍
- 扁平化權限設計,即保證了大型企業級項目的管理,又保證了易用性
- 類似 postman 的接口調試
- 自動化測試, 支持對 Response 斷言
- MockServer 除支持普通的隨機 mock 外,還增加了 Mock 期望功能,根據設置的請求過濾規則,返回期望數據
- 支持 postman、har、swagger 數據導入
- 免費開源,內網部署,信息再也不怕泄露了
環境准備
環境要求:
- nodejs(7.6+)
- mongodb(2.6+)
- git
安裝git和nodejs
yum -y install epel-release
yum -y install nodejs git openssl-devel
npm config set registry https://registry.npm.taobao.org
npm install -g n
n lts
重新登錄shell后,查看node版本:
[root@yapi ~]# node -v
v12.18.1
MongoDB創建DB和相關用戶
使用可視化工具創建db,db名為yapi
,並創建該db的管理員用戶。
部署
可視化方式安裝
使用我們提供的yapi-cli
工具,部署 YApi 平台是非常容易的。執行yapi server
啟動可視化部署程序,輸入相應的配置和點擊開始部署,就能完成整個網站的部署。部署完成之后,可按照提示信息,執行node /{網站路徑/server/app.js}
啟動服務器。在瀏覽器打開指定url, 點擊登錄輸入您剛才設置的管理員郵箱,默認密碼為 ymfe.org
登錄系統(默認密碼可在個人中心修改)。
npm install -g yapi-cli --registry https://registry.npm.taobao.org
yapi server
登錄http://主機ip:9090
,填寫相關配置
服務管理
利用pm2方便服務管理維護。
# 安裝pm2
npm install pm2 -g
cd /usr/local/yapi
# pm2管理yapi服務
pm2 start "vendors/server/app.js" --name yapi
# 查看服務信息
pm2 info yapi
# 停止服務
pm2 stop yapi
# 重啟服務
pm2 restart yapi
登錄
瀏覽器打開http://主機ip:3000
,輸入管理員賬號和密碼,默認登錄密碼為ymfe.org
。
升級
升級項目版本是非常容易的,並且不會影響已有的項目數據,只會同步 vendors 目錄下的源碼文件。
cd /usr/local/yapi
# 查看版本號列表
yapi ls
# 更新到最新版本
yapi update
# 更新到指定版本
yapi update -v {Version}
權限控制
接口管理的邏輯較為復雜,操作頻率高,層層審批將嚴重拖慢生產效率,因此傳統的金字塔管理模式並不適用。
YApi 將扁平化管理模式的思想引入到產品的權限管理中,超級管理員
擁有最高的權限,並將權限分配給若干 組長
,超級管理員
只需管理組長
即可,實際上管理YAPI各大分組與項目的是“組長
”。組長
對分組或項目負責,一般由BU負責人/項目負責人擔任。
創建分組
只有 超級管理員
有權限創建分組
權限列表
新用戶未加入項目或分組時,我們稱為 游客
。
項目權限
操作 | 游客 | 項目開發者 | 項目組長 | 超級管理員 |
---|---|---|---|---|
瀏覽公開項目與接口 | ✓ | ✓ | ✓ | ✓ |
瀏覽私有項目與接口 | ✓ | ✓ | ✓ | |
編輯項目信息 | ✓ | ✓ | ✓ | |
新建接口 | ✓ | ✓ | ✓ | |
編輯接口 | ✓ | ✓ | ✓ | |
編輯項目頭像 | ✓ | ✓ | ||
刪除項目 | ✓ | ✓ |
分組權限
操作 | 游客 | 分組開發者 | 分組組長 | 超級管理員 |
---|---|---|---|---|
瀏覽分組 | ✓ | ✓ | ✓ | ✓ |
在分組中新建項目 | ✓ | ✓ | ✓ | |
編輯分組信息 | ✓ | ✓ | ||
管理分組成員 | ✓ | ✓ | ||
刪除分組 | ✓ | ✓ |
插件
釘釘推送
安裝
cd /usr/local/yapi/
npm install ykit -g
yapi plugin --name yapi-plugin-dingding
修改配置文件
配置參考,servername需要配置主機IP。
{
"port": "3000",
"adminAccount": "xxx@xxx.com",
"db": {
"servername": "IP",
"DATABASE": "yapi",
"port": "27017",
"user": "yapi",
"pass": ""
},
"mail": {
"enable": false,
"host": "smtp.163.com",
"port": 465,
"from": "***@163.com",
"auth": {
"user": "***@163.com",
"pass": "*****"
}
},
"plugins": [
{
"name": "dingding",
"options": {
"host": "http://IP:3000"
}
}
]
}
重啟yapi
pm2 restart yapi
配置釘釘機器人
在群組增加群助手,安全設置,配置宿主機所在的出口ip:
創建完成后,復制webhook,再到yapi項目的設置中配置釘釘機器人