1. 程式人生 > 其它 >API管理工具介紹

API管理工具介紹

時間都去哪裡了

敏捷迭代和團隊協作,前後端分離的工作模式幾乎是每個網際網路公司的常規工作模式。

前後端分離,各自開發的優點很多,其中一項是它只需要提供一個統一的API介面,即可被web,iOS,Android等多個客戶端使用,效率大大提高。

生於敏捷,死於迭代,困於團隊協作常常是這種軟體研發模式的一大弊病。 隨著專案不斷推進、變更,專案越來越大,維護成本也越來越高。

由於某些公司介面文件管理方式採用wiki及html,openapi形式,版本迭代較快,介面常常變更,成員間update和文件維護卻常常跟不上。

在API管理方面越到後期越存在著可觀且隱形的“人力資源”浪費:

1)文件老舊不可用,新人上手工作、熟悉專案靠“老人”的口口相傳,造成人力雙重浪費,團隊成員自己的工作進度受阻,新人勝任任務的進度緩慢。
2)介面由於初期設計問題/功能擴充套件/需求變更問題而修改,但修改後往往難以及時同步到前端和測試等下游環節
3)介面在設計初期不規範,造成前端,測試在除錯和測試理解上的困難,甚至部分介面需要重新返工

這些情況越到專案發展後期會越嚴重。以至於不少研發人員總是抱怨:寫程式碼不累,溝通對接心累;工作不辛苦,就是命苦。

如何優雅地進行API管理

為了解決研發人員的問題,我們需要解決API管理中的各個痛點,換言之,一個完美的API管理工具應滿足如下特徵:

**在介面設計階段,能規範研發人員的介面設計

在介面除錯階段,提供多種功能充分除錯,高度模擬實際工作情境

在介面維護過程中,維護成本低,且各項變更能及時update到下游工作環節的團隊同事

一站式服務,一個工具就可完成介面的設計、除錯、維護,測試過程,不需要反覆匯入匯出,各個軟體來回切換,提高效率。**

最終的解決方案

筆者在網上找了很長時間,發現一款幾乎能滿足以上需求的解決方案軟體--Apifox. 這個軟體的主要特性:

  • 視覺化介面設計介面,支援 https 和 https 協議,遵循openApi和 Json Schema規範,各項http請求引數與介面描述直接填寫即可。支援構建資料模型,可供多個請求引數複用。

  • 媲美postman的介面除錯功能,除此之外,還支援“零配置”mock高度模擬的業務資料,支援讀取資料庫

  • 系統自動生成程式碼 根據介面及資料資料模型定義,系統自動生成介面請求程式碼、前端業務程式碼及後端業務程式碼

  • 實時更新雲端變更的資料到各個團隊成員,避免資料不一致導致的重複工作和返工;程式碼更新和文件更新在同一軟體全部完成,減少維護工作量

  • 專案管理 為不同的專案角色分配不同執行許可權,有效保護專案資料安全;支援openapi,postman格式的舊有專案匯入apifox,實現專案無痛遷移,支援html格式,openapi等多種格式的介面資料匯出。

接下來筆者再針對一些功能進行詳細的介紹

  1. 介面設計

介面視覺化,可以對介面資訊進行編輯管理,get,post等常規的介面請求方法直接下拉框選擇; query,body,header引數直接對應填寫,返回引數支援JSON,XML格式匯入,並能直接進行格式校驗。 介面描述部分支援Markdown格式的文字。

2. 介面除錯
介面除錯有兩種模式,一種是不需要建立專案的快捷除錯,直接校驗介面請求 和返回引數, 一種是在專案裡對單個介面除錯, 這部分的功能基本等同於postman。 可新增多種前後置操作:

校驗返回response,檢查返回狀態和資料結構是否符合預期。


3介面維護 當變更介面時直接在apifox內修改並生成新程式碼,同時說明文件就存放在同一個位置,順手修改文件說明就變得非常方便。介面變更之後,協作成員能及時同步雲端變更。

4.專案管理 支援資料匯入匯出,自動生成介面程式碼

針對不同角色的成員,設定不同的資料許可權。如後端研發可以修改介面資料,而前端和測試成員只有只讀許可權,專案外人員則只有訪客許可權只能檢視到介面資訊而無法檢視資料型別。

可針對開發除錯,測試驗證,線上使用配置不同的伺服器:

此外

Apifox不僅是一款針對研發人員的API管理工具,還能為測試人員提供介面測試,介面自動化測試,測試管理等一系列功能。可以說是一款研發團隊一站式提升效率的神器。