让你直呼哇塞的API管理神器!
作為開(kāi)發(fā)者,包括前端、后端、測(cè)試人員最離不開(kāi)的一個(gè)工具就是Postman,方便我們用來(lái)做API接口進(jìn)行調(diào)試。但 Postman并不完全符合我們對(duì)API的各種需求,比如維護(hù)API文檔、API Mock、API自動(dòng)化測(cè)試等等。最近發(fā)現(xiàn)一款A(yù)PI一站式服務(wù)的工具:Apifox,毫不夸張的說(shuō)吊打Postman!
1.關(guān)于Apifox
Apifox 是 API 文檔、API 調(diào)試、API Mock、API 自動(dòng)化測(cè)試一體化協(xié)作平臺(tái),定位 Postman + Swagger + Mock + JMeter。一站式服務(wù)解決多個(gè)系統(tǒng)之間的數(shù)據(jù)同步問(wèn)題。
2. 如何安裝
首先,我們打開(kāi)Apifox官網(wǎng):https://www.apifox.cn/,根據(jù)我們系統(tǒng)選擇要下載的版本,這里以Macos版本為例子
官網(wǎng)界面首先我們需要?jiǎng)?chuàng)建一個(gè)團(tuán)隊(duì),Apifox支持團(tuán)隊(duì)管理,你可以把自己團(tuán)隊(duì)的小伙伴邀請(qǐng)加入進(jìn)來(lái)。而且支持云端數(shù)據(jù)共享!方便團(tuán)隊(duì)成員間協(xié)作
創(chuàng)建團(tuán)隊(duì)🔧然后我們?cè)谠搱F(tuán)隊(duì)中創(chuàng)建項(xiàng)目,Apifox的項(xiàng)目進(jìn)行權(quán)限管理(比如管理員設(shè)置、只讀權(quán)限等等)
創(chuàng)建項(xiàng)目📚創(chuàng)建項(xiàng)目成功,我們開(kāi)始進(jìn)行體驗(yàn)Apifox強(qiáng)大的功能!
Apifox很體貼,提供了一個(gè)寵物商店完整CRUD的API Demo給用戶使用,方便新用戶第一時(shí)間可以通過(guò)Demo嘗鮮!如下圖👇
Demo 嘗鮮3.支持API文檔導(dǎo)入
Apifox支持導(dǎo)入Swagger、Postman、RAP2、JMeter、YApi、Eolinker、Apizza、ShowDoc、apiDoc等多達(dá)20種工具的導(dǎo)入。看得出市場(chǎng)上大部分?jǐn)?shù)據(jù)類型Apifox都兼容了,我們?cè)僖膊挥脫?dān)心數(shù)據(jù)遷移的問(wèn)題了!
接下來(lái)聊聊如何通過(guò)Apifox導(dǎo)入接口文檔
通過(guò)點(diǎn)擊下圖所示的導(dǎo)入按鈕 👇
導(dǎo)入接口文檔📒然后在導(dǎo)入界面中的數(shù)據(jù)格式選項(xiàng)中選擇Swagger,并選中URL導(dǎo)入Tab按鈕,最后輸入Swagger的數(shù)據(jù)Url即可 👇
導(dǎo)入接口文檔📒成功導(dǎo)入后,將會(huì)顯示導(dǎo)入預(yù)覽面板,顯示內(nèi)容包括:要導(dǎo)入的接口、數(shù)據(jù)模型等,Apifox將會(huì)把我們接口返回的實(shí)體類轉(zhuǎn)換為數(shù)據(jù)模型,方便下次復(fù)用
生成接口數(shù)據(jù)當(dāng)完成以上步驟后就可以開(kāi)始調(diào)試接口了。下圖中我們可以發(fā)現(xiàn)APifox對(duì)查看文檔和修改文檔分成兩個(gè)Tab模塊,方便我們管理接口文檔。
4.接口管理
玩轉(zhuǎn)上面的流程后,我們開(kāi)始核心基礎(chǔ)功能的體驗(yàn)。比如單個(gè)接口的編輯與調(diào)試
4.1 接口設(shè)計(jì)
接口離不開(kāi)接口請(qǐng)求參數(shù),以及各個(gè)參數(shù)的說(shuō)明。而這方面Apifox界面中的參數(shù)說(shuō)明很詳細(xì)!
請(qǐng)求參數(shù)界面講完請(qǐng)求參數(shù),我們看下返回結(jié)果界面,結(jié)果呈現(xiàn)樹(shù)狀結(jié)構(gòu),重點(diǎn)是支持折疊。國(guó)內(nèi)大多同類型軟件都是沒(méi)有的!
返回結(jié)果界面最后我們看下另外一個(gè)Tab功能模塊修改文檔,支持狀態(tài)修改、分組和標(biāo)簽功能
4.2 接口調(diào)試
說(shuō)到接口調(diào)試,我相信你一定會(huì)第一想到postman,但是你可能還不知道我們國(guó)人做的Apifox功能比Postman更強(qiáng)大
Apifox支持環(huán)境配置,默認(rèn)給我們?cè)O(shè)定了三種環(huán)境:正式環(huán)境、測(cè)試環(huán)境、Mock服務(wù)。方便我們?cè)陂_(kāi)發(fā)接口時(shí),針對(duì)不同環(huán)境的場(chǎng)景可以做相應(yīng)的配置
多種環(huán)境支持當(dāng)你開(kāi)始調(diào)試接口之前,我們需要先配置好環(huán)境所定義的 前置Url, 這里以正式環(huán)境為例
設(shè)置前置Url同時(shí)Apifox支持在接口調(diào)用前、接口調(diào)用返回后,做一些自定義操作。在Apifox界面中分別稱為前置操作和后置操作。以后置操作作為例子
前置操作 & 后置操作我們?cè)谄渲幸粋€(gè)接口的后置操作中添加一個(gè)斷言,假若接口返回 code=200, 則表示操作成功
支持?jǐn)嘌?p>最后我們調(diào)用該接口,來(lái)驗(yàn)證下這個(gè)功能!發(fā)現(xiàn)斷言結(jié)果跟我們預(yù)期不一致!5.自定義腳本
前文我們介紹了Apifox強(qiáng)大的前置操作、后置操作功能,支持自定義,不僅僅支持簡(jiǎn)單的斷言和提取變量,還能自定義腳本(自己編寫(xiě)JS文件)
支持自定義腳本 ??同樣,我們用上述的自定義腳本來(lái)校驗(yàn)我們的接口返回?cái)?shù)據(jù)
6.前端 Mock 數(shù)據(jù)
Mock數(shù)據(jù)也是Apifox強(qiáng)大的功能之一,號(hào)稱零配置即可生成非常人性化的mock數(shù)據(jù)。
那我們來(lái)看看Apifox都內(nèi)置了哪些智能規(guī)則 👇
預(yù)設(shè)Mock規(guī)則其中有一個(gè)特別有愛(ài)的規(guī)則是@image,我們根據(jù)選擇不同尺寸mock出不同的圖片 如下圖配置👇
Mock 圖片 🖼?當(dāng)你覺(jué)得Apifox內(nèi)置的Mock功能不夠滿足你的應(yīng)用場(chǎng)景,我們又可以自定義了,支持前端熟悉的Mock.js 語(yǔ)法編寫(xiě)mock規(guī)則 👇
支持Mockjs拓展 🔧當(dāng)你完成mock規(guī)則配置之后,只需將環(huán)境切換到Mock服務(wù)就可以開(kāi)始調(diào)用Mock數(shù)據(jù)接口了!
接下來(lái)我們來(lái)看下通過(guò)Apifox Mock的數(shù)據(jù)是不是正如官網(wǎng)所說(shuō)的人性化? 👇
人性化的Mock數(shù)據(jù) 🤩哇!無(wú)論是圖片、ID還是數(shù)組對(duì)象中的數(shù)值,都按照我期望的格式返回了Mock數(shù)據(jù)。
如果官方默認(rèn)預(yù)設(shè)的Mock規(guī)則,還無(wú)法滿足你的場(chǎng)景,你再結(jié)合上文提到的通過(guò)Mockjs來(lái)自定義規(guī)則就可以了
7.彩蛋
Apifox除了擁有強(qiáng)大的功能之外,最吸引我的地方還有交互與設(shè)計(jì)。甚至還支持主題選擇,我個(gè)人偏向使用官方默認(rèn)的背景“暗色”及主色“湖藍(lán)”的搭配
最后
Apifox除了具備強(qiáng)大的功能之外,UI界面交互設(shè)計(jì)也是國(guó)內(nèi)同類型軟件無(wú)法媲美的。Postman有的接口調(diào)試功能它基本都有,還集成了Mock數(shù)據(jù)、API文檔管理、自動(dòng)化測(cè)試等等功能。而且擴(kuò)展性也很好,比如自定義腳本、前置操作、后置操作等等。相信你體驗(yàn)完,你一定直呼哇塞!🤩
推薦閱讀
牛逼!Python常用數(shù)據(jù)類型的基本操作(長(zhǎng)文系列第①篇)
牛逼!Python的判斷、循環(huán)和各種表達(dá)式(長(zhǎng)文系列第②篇)
牛逼!Python函數(shù)和文件操作(長(zhǎng)文系列第③篇)
牛逼!Python錯(cuò)誤、異常和模塊(長(zhǎng)文系列第④篇)
總結(jié)
以上是生活随笔為你收集整理的让你直呼哇塞的API管理神器!的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: “阿里味” PUA 编程语言火上GitH
- 下一篇: 开源的恶果,程序员正在「自掘坟墓」