
隨着最近行業的移動化、物聯網化、數字化轉型、微服務等多種概念的提出,對應的API數量已經呈現出爆炸式增長,由此帶來的問題就是前後端的接口對接問題越來越來突出,我們能很難找到一個合適的技術工具提高我們的效率。由此帶來的問題就是接口對接的繁瑣,前端後端日常吵架。
1.背景介紹現在我們其實有很多的API工具,在API文檔設計有大名鼎鼎的Swagger,API開發調試我們有Postman、前端開發用的比較多的式Mock.js、自動化測試我們擁有JMeter,但是由於是多個軟件,我們需要多次的輸入相同的重疊數據到不同的系統才能實現我們需要的功能,而且在項目發生變更的時候我們就不得不進行多個地方的修改,一不留神忘記修改就是boom。
2.問題引出所以為了應對上面的需求,我們需要的就是將這幾個常用軟件可以融合到一起,如果能夠做到數據完全互通,當我們修改一個地方的時候所有地方都進行修改那就太完美了。
3.解決方案
今天在網上衝浪的時候發現了Apifox這款神器,官方宣傳就是將多種行業的巨頭軟件進行了整合為一個統一的程序,通過一套系統、一份數據,解決多個系統之間的數據同步問題。只要定義好接口文檔,接口調試、數據 Mock、接口測試就可以直接使用,無需再次定義;接口文檔和接口開發調試使用同一個工具,接口調試完成後即可保證和接口文檔定義完全一致。高效、及時、準確!
官網地址:
https://apifox.cn/a1xkxiu2
軟件現在已經支持web版了,所以整體的體驗都是在web上進行的。
二、核心功能1.API文檔
在API文檔部分,不在是往日冷冰冰的文檔,而是完全可視化、這無疑降低了我們的學習成本、並且文檔是遵循 OpenAPI 規範的,也能提高我們文檔的規範性。
2.API調試
在接口調試部分,我們一個接口可以創建多個用力並且自動跟隨接口進行變更,並且Postman用的功能,Apifox都擁有,可以進行環境變量、全局變量、前後置腳本、全局共享等等功能,可謂是全面。並且支持運行任何語言代碼:js、java、py、php等。
3.Mock 數據Apifox完全支持 Mock.js 語法、並且擴展身份證、國內手機號等常用規則,可以根據接口定義里的數據結構、數據類型,自動生成 mock 規則。並且內置智能 mock 規則庫,根據字段名、字段數據類型,智能優化自動生成的 mock 規則。可自動識別出圖片、頭像、用戶名、手機號、網址、日期、時間、時間戳、郵箱、省份、城市、地址、IP 等字段,從而 Mock 出非常人性化的數據。支持自定義規則庫,滿足各種個性化需求。支持使用 正則表達式、通配符 來匹配字段名自定義 mock 規則。
4.自動化測試支持對相關的測試用例步驟和對應的數據配置完成後進行自動化測試、我們可以很方便的對代碼進行自動化測試。
5. 在線調試這個文檔是用 Apifox 做的,我之前有試用過這個工具,沒想到最近又有這麼多厲害的新功能出來了。點擊文檔右上角的運行按鈕,就會出現「在線運行」的模塊

這個界面上就能直接調試接口了!直接 1. 填參數,2. 選環境,3. 點發送,接口請求就發出去了!下面就有返回結果!根本用不着 Postman!更不用把 API 照着抄一遍!

我心想,如果當時上線之前,用的是 Apifox 的話,那簡直是不會出現事故:
1、 參數不存在?我在線調試後獲得數據了,通過比對我知道哪個參數不存在;2、 參數類型錯誤?同樣的,在線調試之後,通過比對,我知道哪個參數的類型是錯的;3、 接口不存在(是因為接口寫錯了)?調試的時候就報接口不存在了,第一時間找後端~;
三、其他功能1.代碼生成這個就很離譜,可以直接生成對應的業務代碼,解放雙手從此成為ctrl + cctrl + v程序員,可以根據接口/模型定義,自動生成各種語言/框架的業務、模型代碼。並且支持 TypeScript、Java、Go、Swift、ObjectiveC、Kotlin、Dart、C++、C#、Rust 等 130 種語言及框架。有點科幻。

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


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