可視化接口管理平臺 YApi,讓你輕松搞定 API 的管理問題
作者:xcbeyond
瘋狂源自夢想,技術(shù)成就輝煌!微信公眾號:《程序猿技術(shù)大咖》號主,專注后端開發(fā)多年,擁有豐富的研發(fā)經(jīng)驗(yàn),樂于技術(shù)輸出、分享,現(xiàn)階段從事微服務(wù)架構(gòu)項(xiàng)目的研發(fā)工作,涉及架構(gòu)設(shè)計(jì)、技術(shù)選型、業(yè)務(wù)研發(fā)等工作。對于Java、微服務(wù)、數(shù)據(jù)庫、Docker有深入了解,并有大量的調(diào)優(yōu)經(jīng)驗(yàn)。
隨著開發(fā)的推進(jìn),各種各樣的文檔會接踵而來,比如:需求文檔、架構(gòu)文檔、接口文檔等等,我們通過 SVN、Git
等可以很方便的管理,面對需求的不斷變化,我們需要不斷的對各類文檔進(jìn)行維護(hù)。但在開發(fā)階段,針對接口文檔而言,其具有不確定性、難維護(hù)、難測試等特點(diǎn),接口的管理往往成為了難題。
今天我們帶著 API 接口管理的問題,一起來看看一款可視化接口管理平臺 YApi,讓能輕松幫助我們搞定 API 的管理問題。
YApi 介紹
YApi 是高效、易用、功能強(qiáng)大的 API 管理平臺,旨在為開發(fā)、產(chǎn)品、測試人員提供更優(yōu)雅的接口管理服務(wù)??梢詭椭_發(fā)者輕松創(chuàng)建、發(fā)布、維護(hù) API,YApi 還為用戶提供了優(yōu)秀的交互體驗(yàn),開發(fā)人員只需利用平臺提供的接口數(shù)據(jù)寫入工具以及簡單的點(diǎn)擊操作就可以實(shí)現(xiàn)接口的管理。
在開始之前,可以先體驗(yàn)一把,體驗(yàn)地址:https://yapi.baidu.com
特性
可視化接口管理,基于 Websocket 的多人協(xié)作接口編輯功能和類 Postman 測試工具,讓多人協(xié)作成倍提升開發(fā)效率。
扁平化權(quán)限設(shè)計(jì),即保證了大型企業(yè)級項(xiàng)目的管理,又保證了易用性。
自動化測試, 完善的接口自動化測試,保證數(shù)據(jù)的正確性,并支持對 Response 斷言。
Mock Server,易用的 Mock Server,方便 Mock 數(shù)據(jù)的生成。除支持普通的隨機(jī) Mock 外,還增加了 Mock 期望功能,根據(jù)設(shè)置的請求過濾規(guī)則,返回期望數(shù)據(jù)。
數(shù)據(jù)導(dǎo)入導(dǎo)出,支持導(dǎo)入 Swagger, Postman, HAR 數(shù)據(jù)格式,導(dǎo)出 HTML, Markdown, JSON 數(shù)據(jù)格式, 方便 API 接口文檔的遷移及歸檔。
插件機(jī)制,強(qiáng)大的插件機(jī)制,滿足各類業(yè)務(wù)需求,便于擴(kuò)展對接等。
基于 JSON5 和 Mockjs 定義接口返回?cái)?shù)據(jù)的結(jié)構(gòu)和文檔,效率提升多倍。
免費(fèi)開源,支持二次開發(fā),內(nèi)網(wǎng)部署,信息安全可靠。
誰在用
去哪兒
攜程
藝龍
美團(tuán)
百度
騰訊
阿里巴巴
京東
今日頭條
唯品支付
鏈家網(wǎng)
快手
便利蜂
中商惠民
新浪
VIPKID
馬蜂窩
認(rèn)識 YApi
在開始使用 YApi 之前,我們先來熟悉一下 YApi 的網(wǎng)站結(jié)構(gòu),這將讓你快速了解YApi。
登錄與注冊:
想要使用 YApi ,首先要注冊賬號。
首頁:
登錄后進(jìn)入首頁,首頁展示了分組與項(xiàng)目。
此時(shí)你作為新用戶,沒有任何分組與項(xiàng)目的權(quán)限,因此只能搜索、瀏覽 “公開項(xiàng)目” 的接口,如果在首頁找不到任何項(xiàng)目,請聯(lián)系管理員將你加入對應(yīng)項(xiàng)目。
首頁頭部展示了當(dāng)前所在的位置、搜索框、新建項(xiàng)目、查看文檔和用戶信息。
首頁左側(cè)展示分組信息,“分組”是“項(xiàng)目”的集合,只有超級管理員可以管理分組。
首頁右側(cè)是分組下的項(xiàng)目和成員列表,點(diǎn)擊左側(cè)的某個(gè)分組,右側(cè)會出現(xiàn)該分組下的項(xiàng)目和成員信息。
點(diǎn)擊項(xiàng)目右上角的星星即可關(guān)注項(xiàng)目,關(guān)注的項(xiàng)目可以在“我的關(guān)注”頁面查看。
項(xiàng)目頁:
點(diǎn)擊一個(gè)項(xiàng)目,進(jìn)入項(xiàng)目頁,項(xiàng)目頁展示了屬于該項(xiàng)目的全部接口,并提供項(xiàng)目、接口的全部操作。
此時(shí)你作為新用戶,只能瀏覽接口信息,不可以編輯項(xiàng)目或接口,如果需要編輯,請聯(lián)系管理員將你加入該項(xiàng)目。
項(xiàng)目頁左側(cè)的 “接口列表” 展示了該項(xiàng)目下的所有接口,右側(cè)默認(rèn)顯示該項(xiàng)目下所有接口的列表。
點(diǎn)擊左側(cè)的某個(gè)接口,右側(cè)會出現(xiàn)“預(yù)覽”、“編輯”和“運(yùn)行”。
點(diǎn)擊左側(cè)的 “測試集合” 使用測試集功能。
點(diǎn)擊二級導(dǎo)航的“設(shè)置”,項(xiàng)目組長即可編輯項(xiàng)目信息和管理成員列表。
點(diǎn)擊二級導(dǎo)航的“動態(tài)”,即可查看項(xiàng)目的操作日志。
個(gè)人中心:
鼠標(biāo)移動到右上角的用戶頭像或用戶名上,即可點(diǎn)擊“個(gè)人中心”查看個(gè)人信息。
個(gè)人中心
在個(gè)人信息頁面可以查看并修改自己的用戶名、密碼等信息。
個(gè)人設(shè)置
YApi 操作手冊
可直接參考官方教程。
部署
在決定使用 YApi 后,首先會考慮如何部署。雖說官方提供了詳細(xì)的部署文檔,但一頓操作下來卻踩了不少坑,卻被難倒了門外。在此,結(jié)合官方提供的部署教程,自己基于docker-compose、Kubernetes等方式提供了一鍵離線安裝 YApi,更加的方便。
官方部署教程(推薦可視化部署)
可直接參考官方教程,除了部署本身之外,通過該教程讓我們進(jìn)一步了解到 YApi 的一些細(xì)節(jié)問題,如:依賴什么、配置什么等,這也為我接下來 Docker 部署提供了參考。
Docker 在線/離線部署(個(gè)人推薦)
在有網(wǎng)絡(luò)的條件下,可直接通過可視化部署(yapi-cli 工具)是非常簡單的,但在內(nèi)網(wǎng)(無外網(wǎng))下,卻無能為力。因此,特制作 Docker 鏡像,可通過 docker-compose 或 Kubernetes 等方式一鍵部署 YApi。
鏡像制作
這部分主要講述鏡像的制作過程,docker 鏡像已推送至 docker hub,直接拉取,無需自己動手制作鏡像。
config.json: YApi 配置文件,可按需修改打入到鏡像。
commons.js:解決 YApi bug 問題。
克隆本項(xiàng)目代碼到本地
git clone https://github.com/xcbeyond/deploy-scripts.git
構(gòu)建鏡像
# 切換到 yapi 目錄
cd yapi
# 需要花費(fèi)一點(diǎn)時(shí)間
docker build -t xcbeyond/yapi:1.9.2 .
推送鏡像
docker push xcbeyond/yapi:1.9.2
一鍵部署
支持通過 docker-compose 和 Kubernetes 兩種方式一鍵部署。
docker 鏡像 tar 包獲取
有外網(wǎng)時(shí),可忽略該操作。
- 1
如果在離線(無外網(wǎng))情況下,需事先準(zhǔn)備好 docker 鏡像tar包。
在能正常連接外網(wǎng)的 docker 環(huán)境下,拉取鏡像 xcbeyond/yapi。
docker pull xcbeyond/yapi:1.9.2
生成 docker 鏡像 tar 包。
docker save -o yapi-1.9.2.tar xcbeyond/yapi:1.9.2
將鏡像 tar 包 yapi-1.9.2.tar 上傳將要部署的環(huán)境上。
導(dǎo)入鏡像 tar 包。
docker load < yapi-1.9.2.tar
docker-compose 部署
將 docker-compose 文件 /yaip/docker-compose.yaml 上傳至部署環(huán)境上,執(zhí)行 docker-compose 命令 docker-compose up -d 完成部署即可。
瀏覽器訪問地址 http://<部署環(huán)境IP>:3000,可用超級管理員登錄或直接注冊新賬號。
超級管理員:admin@admin.com、ymfe.org,登錄后建議修改密碼。
Kubernetes 部署
將 Kubernetes 部署資源文件上傳至部署環(huán)境上,分別通過命令 kubectl apply -f 執(zhí)行文件 mongodb.yaml 和 yapi.yaml 完成部署即可。
kubectl apply -f mongodb.yaml
# 等待 mongodb 啟動成功后,再執(zhí)行 yapi
kubectl apply -f yapi.yaml
注:先啟動 mongodb、再啟動 yapi。
瀏覽器訪問地址 http://<部署環(huán)境IP>:30300,可用超級管理員登錄或直接注冊新賬號。
超級管理員:admin@admin.com、ymfe.org,登錄后建議修改密碼。
參考資料:
https://hellosean1025.github.io/yapi/
https://github.com/xcbeyond/deploy-scripts/tree/master/yapi