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