之前公司說要建立起前後端分離開發模式,而我只是剛畢業,讓我負責建立起這個規範 ,雖然剛畢業還沒去大廠待過,對我來說是個挑戰,只能按我理解和網上的方案進行建立。在 Google 和 github 搜了好多項目,最終找到一個很好的工具,只要搭建在內網就能完美解決前後端分離開發的一些缺點。下面搭建看看
1.搭建Yapi 的數據庫 mongo
直接 docker 命令走起
docker run -d \
-p 27017:27017 \
--name mongo \
--restart=always \
-v /data/mongo:/data/db \
-e MONGO_INITDB_ROOT_USERNAME=mongo \
-e MONGO_INITDB_ROOT_PASSWORD=123456 \
mongo
2.自定義配置文件 yapi-config.json
mkdir /data/yapi
vim /data/yapi/yapi-config.json
填入配置(賬號密碼自己改)
{
"port": "3000",
"adminAccount": "[email protected]",
"timeout": 120000,
"db": {
"servername": "mongo",
"DATABASE": "yapi",
"port": 27017,
"user": "mongo",
"pass": "123456",
"authSource": "admin"
}
}
3.初始化 YAPI 數據庫索引及管理員賬號
docker run -it --rm \
--link mongo:mongo \
--entrypoint npm \
--workdir /yapi/vendors \
-v /data/yapi/yapi-config.json:/yapi/config.json \
registry.cn-hangzhou.aliyuncs.com/anoyi/yapi \
run install-server
記錄密碼
4.啓動 Yapi 服務
docker run -d \
--name yapi \
--restart=always \
--link mongo:mongo \
--workdir /yapi/vendors \
-p 9999:3000 \
-v /data/yapi/yapi-config.json:/yapi/config.json \
registry.cn-hangzhou.aliyuncs.com/anoyi/yapi \
server/app.js
5.訪問 ip:9999 登錄查看
6.新建項目、接口測試
隨便找個 json 粘貼上去保存
自動生成 json,點擊 mock 查看
7.總結
這個工具比較適合模擬基本的 json 優點:能夠通過粘貼各種 json 生成對應格式,支持導出和導入,支持的插件很多,可以去 github 文檔上查看,支持的插件還是很全的。缺點:就是需要手動去改模擬內容,如中文、時間等。
YApi 可視化接口管理平臺
體驗地址:
文檔:
hellosean1025.github.io/yapi
平臺介紹
YApi 是高效、易用、功能強大的 api 管理平臺,旨在爲開發、產品、測試人員提供更優雅的接口管理服務。可以幫助開發者輕鬆創建、發佈、維護 API,YApi 還爲用戶提供了優秀的交互體驗,開發人員只需利用平臺提供的接口數據寫入工具以及簡單的點擊操作就可以實現接口的管理。
特性
- 基於 Json5 和 Mockjs 定義接口返回數據的結構和文檔,效率提升多倍
- 扁平化權限設計,即保證了大型企業級項目的管理,又保證了易用性
- 類似 postman 的接口調試
- 自動化測試, 支持對 Response 斷言
- MockServer 除支持普通的隨機 mock 外,還增加了 Mock 期望功能,根據設置的請求過濾規則,返回期望數據
- 支持 postman, har, swagger 數據導入
- 免費開源,內網部署,信息再也不怕泄露了
內網部署
環境要求
- nodejs(7.6+)
- mongodb(2.6+)
- git
安裝
使用我們提供的 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
服務管理
利用 pm2 方便服務管理維護。
npm install pm2 -g //安裝pm2
cd {項目目錄}
pm2 start "vendors/server/app.js" --name yapi //pm2管理yapi服務
pm2 info yapi //查看服務信息
pm2 stop yapi //停止服務
pm2 restart yapi //重啓服務
升級
升級項目版本是非常容易的,並且不會影響已有的項目數據,只會同步 vendors 目錄下的源碼文件。
cd {項目目錄}
yapi ls //查看版本號列表
yapi update //更新到最新版本
yapi update -v {Version} //更新到指定版本
教程
YApi 插件
- yapi sso 登錄插件
- yapi cas 登錄插件 By wsfe
- yapi gitlab 集成插件
- oauth2.0 登錄
- rap 平臺數據導入
- dingding 釘釘機器人推送插件
- export-docx-data 數據導出 docx 文檔
- interface-oauth-token 定時自動獲取鑑權 token 的插件
- import-swagger-customize 導入指定 swagger 接口
代碼生成
- yapi-to-typescript:根據 YApi 的接口定義生成 TypeScript 的請求函數
- yapi-gen-js-code: 根據 YApi 的接口定義生成 javascript 的請求函數
- SwiftJSONModeler:根據 YApi 的接口生成 Swift 模型代碼
YApi docker 部署(非官方)
- 使用 alpine 版 docker 鏡像快速部署 yapi
- docker-yapi: 基於官方 yapi-cli 的 docker-compose 方案
- docker-compose 一鍵部署 yapi
- docker-YApi: 更易用的 YApi 鏡像
- 使用 DockerCompose 構建部署 Yapi
- yapi-docker: dockerized yapi deployment all in one
YApi 一些工具
- Api Generator 接口文檔自動生成插件(零入侵)
- mysql 服務 http 工具,可配合做自動化測試
- idea 一鍵上傳接口到 yapi 插件
- idea 接口上傳調試插件 easy-yapi
- 執行 postgres sql 的服務
- SpringBoot 依賴自動生成 YApi
- Yapi X 一鍵生成接口文檔, 上傳到 yapi, rap2, eolinker 等(IDEA 插件)
YApi 的一些客戶
- 去哪兒
- 攜程
- 藝龍
- 美團
- 百度
- 騰訊
- 阿里巴巴
- 京東
- 今日頭條
- 唯品支付
- 鏈家網
- 快手
- 便利蜂
- 中商惠民
- 新浪
- VIPKID
- 馬蜂窩
- 伴魚
- 曠視科技
本文由「誠哥博客」原創,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:前後端分離開發工具YAPI部署記錄