可視化接口管理平臺 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