年前最后一更,自從Internet服務開發以來,作為開發者陣營,我們已經在實踐中證明了前端和后端分離開發模型正逐漸成為越來越多的Internet公司構建服務和應用程序的一種方式。
前端和后端分離的優點很多。一個重要的優點是,對於后台服務(系統),它只需要提供一個統一的API接口,即可被多個客戶端重用,並且分工和協作更加精細。大大提高了效率。目前某些公司接口文檔管理方式采用word,wiki及html形式,由於版本迭代較快。隨之而來的是
- 接口文檔管理混亂,接口描述不清;
- 間接導致測試人員測試效率低下,后續問題無法追蹤,測試無法保障
- 資源分散,難以共享,雖然有SVN,git,但由於權限問題,不能及時查看
- 由於項目較多,接口文檔排版各異,查看不便
由此可見接口文檔規范是多么的重要,作者推薦市面上常見的幾款接口管理平台,僅供參考
1.Swagger
Swagger是一個規范和完整的框架,用於生成、描述、調用和可視化 RESTful 風格的 Web 服務。它可以方便地和 Spring MVC、Spring Boot等框架進行快速整合,並且通過結合諸如Swagger-UI等組件,將 controller層的方法進行方便地可視化展示,像方法注釋,方法參數,方法返回值等都提供了相應的用戶界面
項目地址:https://swagger.io
2.YApi
YApi 是高效、易用、功能強大的 api 管理平台,旨在為開發、產品、測試人員提供更優雅的接口管理服務。它可以幫助開發者輕松創建、發布、以及維護API。除此之外,YApi 還為用戶提供了優秀的交互體驗,開發人員只需利用平台提供的接口數據寫入工具以及簡單的點擊操作就可以實現接口的管理。
特性:
- 基於 Json5 和 Mockjs 定義接口返回數據的結構和文檔,效率提升多倍
- 扁平化權限設計,即保證了大型企業級項目的管理,又保證了易用性
- 類似 postman 的接口調試
- 自動化測試, 支持對 Response 斷言
- MockServer 除支持普通的隨機 mock 外,還增加了 Mock 期望功能,根據設置的請求過濾規則,返回期望數據
- 支持 postman, har, swagger 數據導入
- 免費開源,內網部署,信息再也不怕泄露了
博主有個問題想咨詢的時候,特意去加github上面的群,但加群的時候,心中sfowfwfpw,先這樣吧
難點:如果需要要執行自動化測試,需要編寫腳本,好像比較難,可能是博主太菜了吧(大哭.gif)
github源碼地址:https://github.com/YMFE/yapi
部署文檔地址:https://hellosean1025.github.io/yapi/documents/index.html
3.eolinker
開箱即用的API研發管理方案,無需繁瑣的配置,支持讀取代碼注解生成API文檔,或者是通過UI界面快速創建全面的API文檔。通過Mock API、API變更通知、版本管理等服務,讓團隊更敏捷。
疑問:github上面源碼已經被刪除,需要下載源碼自己搭建的就不要想了
4.showdoc
一個非常適合IT團隊的在線API文檔、技術文檔工具
5.DOClever
DOClever是一個可視化免費開源的接口管理工具 ,可以分析接口結構,校驗接口正確性, 圍繞接口定義文檔,通過一系列自動化工具提升我們的協作效率。DOClever前后端全部采用了javascript來作為我們的開發語言,前端用的是vue+element UI,后端是express+mongodb,這樣的框架集成了高並發,迭代快的特點,保證系統的穩定可靠。
主要特性:
• 可以對接口信息進行編輯管理,支持 get,post,put,delete,patch 五種方法,支持 https 和 https 協議,並且支持 query,body,json,raw,rest,formdata 的參數可視化編輯。同時對 json 可以進行無限層次可視化編輯。並且,狀態碼,代碼注入,markdown 文檔等附加功能應有盡有。
• 接口調試運行,可以對參數進行加密,從 md5 到 aes 一應俱全,返回參數與模型實時分析對比,給出不一致的地方,找出接口可能出現的問題。如果你不想手寫文檔,那么試試接口的數據生成功能,可以對接口運行的數據一鍵生成文檔信息。
• mock 的無縫整合,DOClever 自己就是一個 mock 服務器,當你把接口的開發狀態設置成已完成,本地 mock 便會自動請求真實接口數據,否則返回事先定義好的 mock 數據。
• 支持 postman,rap,swagger 的導入,方便你做無縫遷移,同時也支持 html 文件的導出,方便你離線瀏覽!
• 項目版本和接口快照功能並行,你可以為一個項目定義 1.0,1.1,1.2 版本,並且可以自由的在不同版本間切換回滾,再也不怕接口信息的遺失,同時接口也有快照功能,當你接口開發到一半或者接口需求變更的時候,可以隨時查看之前編輯的接口信息。
• 自動化測試功能,目前市面上類似平台的接口自動化測試大部分都是偽自動化,對於一個復雜的場景,比如獲取驗證碼,登陸,獲取訂單列表,獲取某個特定訂單詳情這樣一個上下文關聯的一系列操作無能為力。而 DOClever 獨創的自動化測試功能,只需要你編寫極少量的 javascript 代碼便可以在網頁里完成這樣一系列操作,同時,DOClever 還提供了后台定時批量執行測試用例並把結果發送到團隊成員郵箱的功能,你可以及時獲取接口的運行狀態。
• 團隊協作功能,很多類似的平台這樣的功能是收費的,但是 DOClever 覺得好東西需要共享出來,你可以新建一個團隊,並且把團隊內的成員都拉進來,給他們分組,給他們分配相關的項目以及權限,發布團隊公告等等。
github源碼地址:https://github.com/sx1989827/DOClever
官網地址:http://doclever.cn/controller/index/index.html
幫助文檔地址http://doclever.cn/controller/read/read.html#5a532f98b7731a2ba86093b3
6.RAP2
阿里媽媽前端團隊出品的開源接口管理工具RAP第二代,RAP通過GUI工具幫助WEB工程師更高效的管理接口文檔,同時通過分析接口結構自動生成Mock數據、校驗真實接口的正確性,使接口文檔成為開發流程中的強依賴。有了結構化的API數據,RAP可以做的更多,而我們可以避免更多重復勞動。
基於RAML的接口定義、文檔生成、Mock Server完成了定義和使用的分離,通過一套規范完成的接口定義,可以用不同的工具得到適應不同API管理系統的輸出,有更多的可能性,同時保持了核心定義不變。
RAP較之於RAML,前者更加集中,所有的定義、文檔、mock都在同一個服務中完成,並且實時生效,方便快捷,如果只考慮方便易用,RAP是更好的選擇,而RAML顯得更加繁瑣,更適合於公開的接口定義,方便在各個系統之間流轉。
github源碼地址:https://github.com/thx/rap2-delos
以上信息均來自互聯網,如有侵權,請聯系作者刪除,謝謝