掃二維碼與項目經(jīng)理溝通
我們在微信上24小時期待你的聲音
解答本文疑問/技術(shù)咨詢/運(yùn)營咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流
建設(shè)一個高效、易用且經(jīng)濟(jì)實惠的API管理平臺,滿足API的創(chuàng)建、管理、測試、文檔管理和權(quán)限管理需求,并支持第三方API工具導(dǎo)入,以提升V平臺API使用效率和團(tuán)隊協(xié)作效率。

10年積累的成都網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計經(jīng)驗,可以快速應(yīng)對客戶對網(wǎng)站的新想法和需求。提供各種問題對應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識你,你也不認(rèn)識我。但先網(wǎng)站策劃后付款的網(wǎng)站建設(shè)流程,更有明山免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。
我們的需求,找到一款開源、廣泛使用、能無縫對接Swagger、smart-doc規(guī)范(不用手工定義一個個接口),支持自動化測試流程、對前端支持Mock數(shù)據(jù)的工具。
在當(dāng)前API管理平臺的海量選擇中,一些有著廣大用戶群和良好口碑的平臺分外引人注目,例如Apifox、APIPost、Swagger、YAPI、Eolinker和EasyAPI等等。然而,考慮到開源認(rèn)證與合規(guī)風(fēng)險,我們必須對選擇進(jìn)行審慎考慮。
對于國外的產(chǎn)品,由于可能存在的合規(guī)風(fēng)險和其它問題,我們的選擇焦點(diǎn)僅集中在了最為老牌且老牌的Swagger上,而其它的都被逐一排除。同時,如果產(chǎn)品采用了GNU AGPLv3和商業(yè)許可的雙重授權(quán)方式,我們也直接將其排除在選擇范圍之外,以避免后續(xù)可能的法律糾紛。
在經(jīng)過這些篩選后,我們最終收集到了8款滿足條件的API管理平臺。在對這些平臺進(jìn)行初步了解和簡單操作后,我們發(fā)現(xiàn)這些平臺不僅功能強(qiáng)大,同時也各有其獨(dú)特的特色和優(yōu)勢。
但是,為了進(jìn)一步提煉我們的選擇,并找到最適合我們需求的平臺,我們決定引入更多的篩選條件,并采用積分制進(jìn)行評估。具體的評分標(biāo)準(zhǔn)如下:免費(fèi)私有部署(5分)、團(tuán)隊協(xié)作能力(0-3分)、工作流覆蓋能力(0-7分)、學(xué)習(xí)成本(1-2分)以及其它擴(kuò)展功能(0-2分)。通過這種方式,我們期待能夠更精確、更有效地找到我們團(tuán)隊的最佳選擇。
|
api管理平臺 |
私有 <5> |
調(diào)試 <1> |
mock<1> |
項目管理<1> |
團(tuán)隊協(xié)作<3> |
測試用例<2> |
自動化測試<1> |
性能測試<1> |
復(fù)雜度<2> |
代碼生成<1> |
擴(kuò)展工具<1> |
定位<1> |
綜合分 |
|
wiki |
是 |
無 |
無 |
無 |
無 |
無 |
無 |
無 |
簡單 |
無 |
無 |
開發(fā) |
7 |
|
postman |
是 |
是 |
支持 |
類同 |
無 |
強(qiáng) |
支持 |
無 |
普通 |
支持 |
無 |
測試 |
13 |
|
apifox |
收費(fèi) |
是 |
支持 |
支持 |
強(qiáng) |
強(qiáng) |
支持 |
支持 |
普通 |
支持 |
支持 |
團(tuán)隊 |
14 |
|
apipost |
收費(fèi) |
是 |
支持 |
支持 |
強(qiáng) |
強(qiáng) |
支持 |
無 |
普通 |
支持 |
支持 |
團(tuán)隊 |
13 |
|
swagger |
是 |
是 |
支持 |
支持 |
普通 |
弱 |
無 |
無 |
普通 |
支持 |
無 |
開發(fā) |
12 |
|
yapi |
是 |
是 |
支持 |
支持 |
較強(qiáng) |
較強(qiáng) |
支持 |
無 |
普通 |
支持 |
支持 |
團(tuán)隊 |
17 |
|
eolinker |
收費(fèi) |
是 |
支持 |
支持 |
強(qiáng) |
強(qiáng) |
支持 |
支持 |
普通 |
支持 |
支持 |
團(tuán)隊 |
14 |
|
metersphere |
是 |
是 |
支持 |
類同 |
強(qiáng) |
強(qiáng) |
支持 |
支持 |
普通 |
支持 |
無 |
測試 |
17 |
|
rap |
是 |
是 |
支持 |
支持 |
普通 |
無 |
無 |
無 |
簡單 |
支持 |
無 |
開發(fā) |
12 |
|
easyapi |
是 |
是 |
支持 |
類同 |
普通 |
無 |
無 |
無 |
簡單 |
無 |
無 |
開發(fā) |
11 |
能否免費(fèi)私有化部署是重要考量,直接給了5分。在此前提下,yapi和metersphere以17分并列第一。下面將著重介紹和比較這兩個平臺。
yapi提供了比較方便的安裝部署方法,但是在nodejs和npm版本選擇上,有坑。用最新版本竟然不支持。當(dāng)前用的nodejs是v13.14.0,npm是v6.14.4,整個系統(tǒng)都點(diǎn)了一遍,tag這個小功能還是有點(diǎn)小問題,不過tag我們暫時也不用,沒影響。期待后續(xù)版本解決吧。
1、主界面,UI體驗不錯。
2、系統(tǒng)信息,統(tǒng)計項夠用
3、項目主頁,包含接口列表、動態(tài)、數(shù)據(jù)管理、成員管理、設(shè)置、wiki。
4、接口能直接在web中調(diào)試,而且這個調(diào)試頁面的所有修改可以保存,并同步更新接口和對應(yīng)用例(僅路徑)
5、測試集合,這里可以把指定接口或全部接口一鍵轉(zhuǎn)化成用例集。每個用例可以執(zhí)行、克隆、斷言(僅自動化時生效)等。用例的編寫還是比較方便的。但是用例的管理上就比較弱了,只支持一層目錄。不過項目的分的細(xì)一些,影響也不大。整體使用感覺,非常類似于postman,上手應(yīng)該沒難度。
6、mock,針對每個接口可以設(shè)置mock,可以設(shè)置多個期望,也支持腳本。無論前端還是測試,應(yīng)該都可以快速上手使用。
可惜的是,頁面上無法生成類似于mock_client之類的本地運(yùn)行的mock文件,后續(xù)我查查有沒有相關(guān)插件工具可以支持。
7、用例集里面,直接點(diǎn)擊開始測試,則頁面開始逐個執(zhí)行用例。也支持”服務(wù)端測試“,就是在其它服務(wù)器執(zhí)行這些用例。具體操作方法大家可自行體會。
一次只能執(zhí)行一個用例集,不支持一次執(zhí)行多個用例集。而且,沒有精美的測試報告。整體來說,接口測試相關(guān)功能,夠用的程度。后續(xù)查查有沒有相關(guān)插件工具,增強(qiáng)測試報告的能力。
8、導(dǎo)入導(dǎo)出,支持swagger、postman、json、HAR導(dǎo)入,其中postman格式非常可惜只支持V1版本的,當(dāng)前較新版本的postman都只能導(dǎo)出V2和V2.1的json文件了。
導(dǎo)出,支持html、MD、swaggerjson、json,相信夠用了。
MS的部署非常簡單,一個sh腳本,執(zhí)行后就等著就行了。這點(diǎn)做的不錯。部署完后增加了msctl這個運(yùn)維命令,可以非常方便的啟動、關(guān)閉、查看整個MS系統(tǒng)。
1、主界面,顏值不錯。內(nèi)容明顯多于yapi,而且明顯偏重于測試支撐。
2、接口測試這里,包含首頁、接口定義、接口自動化、測試報告。其中接口定義,是用來導(dǎo)入和維護(hù)api文檔的,路徑有點(diǎn)深啊。
3、界面略顯凌亂,控件有點(diǎn)錯位,其它頁面也有類似的情況。應(yīng)該是分辨率的問題,大一些分辨率應(yīng)該就行了。
對接口的維護(hù)、調(diào)試、mock,都具備,操作項簡單明了。前端開發(fā)、后端開發(fā)用起來上手快。
不過也沒法生成類似于mock_client的本地執(zhí)行文件。也沒有插件支持。
4、每個api,都可以調(diào)試、mock、用例。而且Metersphere對用例的管理思路,跟yapi不一樣,它的每個用例都關(guān)聯(lián)到接口的,即每個接口下掛若干個用例,然后所有用例可以自由歸屬集合和場景。對于測試工作的支撐非常強(qiáng)大。
還有單獨(dú)的用例模塊,可以列表,也可以系統(tǒng)內(nèi)直接畫腦圖
5、接口自動化測試,以”場景“為基礎(chǔ),除了最簡單的依次執(zhí)行所有用例,也可以通過配置各種控制器,模擬業(yè)務(wù)流。功能強(qiáng)于postman的參數(shù)傳遞邏輯。
6、ms有簡單但夠用的測試報告
7、可選1個或幾個測試用例,直接轉(zhuǎn)到性能測試模塊。ms安裝的時候自帶了jmeter,只要配置好資源池,這里就自動調(diào)用jmeter進(jìn)行壓力測試。
8、還能進(jìn)行UI測試和UI自動化測試,但這個是企業(yè)版功能,免費(fèi)版無法使用。且這個導(dǎo)航無法去掉。有點(diǎn)小別扭了。
Yapi和MeterSphere兩者都是優(yōu)秀的API管理平臺,提供了強(qiáng)大的功能和良好的用戶體驗。初步看來,Yapi和MeterSphere的功能和性能似乎相差無幾。然而,當(dāng)我們深入研究這兩個平臺的商業(yè)化策略、團(tuán)隊規(guī)模、可替代功能、學(xué)習(xí)和維護(hù)成本、未來替換公司自有平臺難度、開發(fā)人員訪談和合規(guī)風(fēng)險時,我們發(fā)現(xiàn)兩者的定位和復(fù)雜度是完全不同的。
|
對比項 |
yapi |
Metersphere |
|
商業(yè)版本 |
無 |
有 |
|
免費(fèi)版本 |
有,無限制 |
有,有限制 |
|
部署 |
無難度 |
無難度,且一鍵部署 |
|
數(shù)據(jù)導(dǎo)入 |
支持豐富 |
支持豐富 |
|
數(shù)據(jù)導(dǎo)出 |
支持豐富 |
只有自有格式和swagger |
|
開發(fā)用 |
完全夠用 |
完全夠用 |
|
自動生成文檔 |
支持,無侵入 |
不支持 |
|
前端用 |
夠用,簡單 |
夠用,簡單,但路徑有點(diǎn)深 |
|
測試用 |
夠用,簡單 |
非常強(qiáng)大,但有收費(fèi)功能 |
|
項目管理 |
夠用,簡單 |
能支撐大項目,操作稍多 |
|
人員管理 |
扁平化 |
三級權(quán)限,劃分細(xì)致 |
|
學(xué)習(xí)難度 |
簡單,基本顧名思義 |
普通,需要文檔支持 |
|
維護(hù)難度 |
簡單 |
簡單,但路徑有點(diǎn)深 |
|
報表統(tǒng)計 |
少 |
豐富 |
|
消息管理 |
少 |
豐富 |
|
流程覆蓋 |
后端+前端+測試 |
后端+前端+測試,偏測試 |
|
擴(kuò)展工具 |
少 |
無 |
在下面的內(nèi)容中,我們將詳細(xì)分析每個維度的對比結(jié)果,以更好地理解這兩個平臺的差異,并找出最適合我們團(tuán)隊的API管理平臺。
綜上所述,我們最終推薦使用Yapi作為我們中臺組的API管理平臺。此外,我們還了解到,集團(tuán)的其他業(yè)務(wù)組也在使用Yapi。
注:經(jīng)過安全漏洞掃描中,發(fā)現(xiàn)Yapi漏洞,可修復(fù)
具體修復(fù)方案如下:

我們在微信上24小時期待你的聲音
解答本文疑問/技術(shù)咨詢/運(yùn)營咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流