國(guó)產(chǎn)最流行的開發(fā)工具?支持?jǐn)?shù)據(jù) + 代碼生成!
一、API爆炸的時(shí)代 1.背景介紹 2.問題引出 3.解決方案 二、核心功能 1.API文檔 2.API調(diào)試 3.Mock 數(shù)據(jù) 4.自動(dòng)化測(cè)試 5. 在線調(diào)試 三、其他功能 1.代碼生成 2.數(shù)據(jù)導(dǎo)入/導(dǎo)出 四、驚喜功能 五、總結(jié)
一、API爆炸的時(shí)代
隨著最近行業(yè)的移動(dòng)化、物聯(lián)網(wǎng)化、數(shù)字化轉(zhuǎn)型、微服務(wù)等多種概念的提出,對(duì)應(yīng)的API數(shù)量已經(jīng)呈現(xiàn)出爆炸式增長(zhǎng),由此帶來的問題就是前后端的接口對(duì)接問題越來越來突出,我們能很難找到一個(gè)合適的技術(shù)工具提高我們的效率。由此帶來的問題就是接口對(duì)接的繁瑣,前端后端日常吵架。
1.背景介紹
現(xiàn)在我們其實(shí)有很多的API工具,在API文檔設(shè)計(jì)有大名鼎鼎的Swagger,API開發(fā)調(diào)試我們有Postman、前端開發(fā)用的比較多的式Mock.js、自動(dòng)化測(cè)試我們擁有JMeter,但是由于是多個(gè)軟件,我們需要多次的輸入相同的重疊數(shù)據(jù)到不同的系統(tǒng)才能實(shí)現(xiàn)我們需要的功能,而且在項(xiàng)目發(fā)生變更的時(shí)候我們就不得不進(jìn)行多個(gè)地方的修改,一不留神忘記修改就是boom。
2.問題引出
所以為了應(yīng)對(duì)上面的需求,我們需要的就是將這幾個(gè)常用軟件可以融合到一起,如果能夠做到數(shù)據(jù)完全互通,當(dāng)我們修改一個(gè)地方的時(shí)候所有地方都進(jìn)行修改那就太完美了。
3.解決方案
今天在網(wǎng)上沖浪的時(shí)候發(fā)現(xiàn)了Apifox這款神器,官方宣傳就是將多種行業(yè)的巨頭軟件進(jìn)行了整合為一個(gè)統(tǒng)一的程序,通過一套系統(tǒng)、一份數(shù)據(jù),解決多個(gè)系統(tǒng)之間的數(shù)據(jù)同步問題。只要定義好接口文檔,接口調(diào)試、數(shù)據(jù) Mock、接口測(cè)試就可以直接使用,無需再次定義;接口文檔和接口開發(fā)調(diào)試使用同一個(gè)工具,接口調(diào)試完成后即可保證和接口文檔定義完全一致。高效、及時(shí)、準(zhǔn)確!
官網(wǎng)地址:
https://apifox.cn/a1jishumi1
軟件現(xiàn)在已經(jīng)支持web版了,所以整體的體驗(yàn)都是在web上進(jìn)行的。
二、核心功能
1.API文檔

在API文檔部分,不在是往日冷冰冰的文檔,而是完全可視化、這無疑降低了我們的學(xué)習(xí)成本、并且文檔是遵循 OpenAPI 規(guī)范的,也能提高我們文檔的規(guī)范性。
2.API調(diào)試

在接口調(diào)試部分,我們一個(gè)接口可以創(chuàng)建多個(gè)用力并且自動(dòng)跟隨接口進(jìn)行變更,并且Postman用的功能,Apifox都擁有,可以進(jìn)行環(huán)境變量、全局變量、前后置腳本、全局共享等等功能,可謂是全面。并且支持運(yùn)行任何語(yǔ)言代碼:js、java、py、php等。
3.Mock 數(shù)據(jù)


Apifox完全支持 Mock.js 語(yǔ)法、并且擴(kuò)展身份證、國(guó)內(nèi)手機(jī)號(hào)等常用規(guī)則,可以根據(jù)接口定義里的數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)類型,自動(dòng)生成 mock 規(guī)則。并且內(nèi)置智能 mock 規(guī)則庫(kù),根據(jù)字段名、字段數(shù)據(jù)類型,智能優(yōu)化自動(dòng)生成的 mock 規(guī)則。可自動(dòng)識(shí)別出圖片、頭像、用戶名、手機(jī)號(hào)、網(wǎng)址、日期、時(shí)間、時(shí)間戳、郵箱、省份、城市、地址、IP 等字段,從而 Mock 出非常人性化的數(shù)據(jù)。支持自定義規(guī)則庫(kù),滿足各種個(gè)性化需求。支持使用 正則表達(dá)式、通配符 來匹配字段名自定義 mock 規(guī)則。
4.自動(dòng)化測(cè)試


支持對(duì)相關(guān)的測(cè)試用例步驟和對(duì)應(yīng)的數(shù)據(jù)配置完成后進(jìn)行自動(dòng)化測(cè)試、我們可以很方便的對(duì)代碼進(jìn)行自動(dòng)化測(cè)試。
5. 在線調(diào)試
這個(gè)文檔是用 Apifox 做的,我之前有試用過這個(gè)工具,沒想到最近又有這么多厲害的新功能出來了。點(diǎn)擊文檔右上角的運(yùn)行按鈕,就會(huì)出現(xiàn)“在線運(yùn)行”的模塊

這個(gè)界面上就能直接調(diào)試接口了!直接 1. 填參數(shù),2. 選環(huán)境,3. 點(diǎn)發(fā)送,接口請(qǐng)求就發(fā)出去了!下面就有返回結(jié)果!根本用不著 Postman!更不用把 API 照著抄一遍!

我心想,如果當(dāng)時(shí)上線之前,用的是 Apifox 的話,那簡(jiǎn)直是不會(huì)出現(xiàn)事故:
1、 參數(shù)不存在?我在線調(diào)試后獲得數(shù)據(jù)了,通過比對(duì)我知道哪個(gè)參數(shù)不存在;
2、 參數(shù)類型錯(cuò)誤?同樣的,在線調(diào)試之后,通過比對(duì),我知道哪個(gè)參數(shù)的類型是錯(cuò)的;
3、 接口不存在(是因?yàn)榻涌趯戝e(cuò)了)?調(diào)試的時(shí)候就報(bào)接口不存在了,第一時(shí)間找后端~;
三、其他功能
1.代碼生成
這個(gè)就很離譜,可以直接生成對(duì)應(yīng)的業(yè)務(wù)代碼,解放雙手從此成為ctrl + cctrl + v程序員,可以根據(jù)接口/模型定義,自動(dòng)生成各種語(yǔ)言/框架的業(yè)務(wù)、模型代碼。并且支持 TypeScript、Java、Go、Swift、ObjectiveC、Kotlin、Dart、C++、C#、Rust 等 130 種語(yǔ)言及框架。有點(diǎn)科幻。

2.數(shù)據(jù)導(dǎo)入/導(dǎo)出
支持導(dǎo)出 OpenAPI (Swagger)、Markdown、Html 等數(shù)據(jù)格式。
支持導(dǎo)入 OpenAPI (Swagger)、Postman、HAR、RAP2、JMeter、YApi、Eolinker、RAML、DOClever 、Apizza 、DOCWAY、ShowDoc、I/O Docs、WADL、Google Discovery 等數(shù)據(jù)格式。
這樣就可以方便我們進(jìn)行數(shù)據(jù)的遷移。而且我們也可以即時(shí)備份存檔,從此不為寫文檔而頭禿。

四、驚喜功能

作為一個(gè)coder,最終的就是進(jìn)行分享,Apifox官網(wǎng)的API Hub可以讓我們方便的查看別人的項(xiàng)目進(jìn)行學(xué)習(xí),同時(shí)如果我們做了一份自認(rèn)為完美的文檔也可以進(jìn)行分享,分享才能使我們更加的強(qiáng)大。可以增強(qiáng)我們的輸出能力。
五、總結(jié)
整體體驗(yàn)下來,只能說Apifox想的非常全面,可以讓我們從文檔書寫和接口對(duì)接工作中解脫出來,更加專注于代碼的書寫和業(yè)務(wù)邏輯的梳理,被接口對(duì)接煩透了的你不妨嘗試一下,你會(huì)發(fā)現(xiàn)它像一個(gè)保姆一樣為你做了所有該做的事情。
官網(wǎng)地址:
https://apifox.cn/a1jishumi1
要是使用過程中有問題的話,還可以加入 Apifox 用戶群提問和學(xué)習(xí)。
