如何優(yōu)雅的進行接口管理
在這前后端分離大行其道的今天,如何優(yōu)雅的管理接口,對應(yīng)提高工作效率非常重要。而接口又是由后端提供的,這個任務(wù)自然而然的又落在后臺開發(fā)人員的身上。在這里提供三種常見的接口管理方案,這三種方案沒有屬誰最優(yōu),屬誰最差。根據(jù)項目的情況而定。
0x01:基于文檔式的接口管理
基于文檔式的接口管理時最傳統(tǒng),也是最常見的接口管理方式。因為一直做些不大不小的項目型項目,所以幾乎使用的都是該接口管理方案。文檔格式多種多樣,常見的文檔格式有:
電子表格Execl
電子文檔Word
PDF文件
這三種文檔格式,用于管理接口,小編使用 Execl 最為順手。大致模板如下:
接口目錄

接口詳情

這種方案比較難控制版本,每次修改接口時,都需要同步更新接口文檔。否則就造成接口與接口文檔不一致。
0x02:內(nèi)嵌接口服務(wù)
把在線接口文檔內(nèi)嵌到應(yīng)用服務(wù)里,最流行的當(dāng)屬 Swagger 框架。Swagger 框架與Spring 框架完美集合,使用非常方便。
Swagger 是一個大型的 AP I開發(fā)者的工具框架,該框架提出了一個編寫 OpenAPI的規(guī)范(命名為 OA S),并且 Swagger 可以跨整個 API 生命周期進行開發(fā),從設(shè)計和文檔到測試和部署。Swagger 框架有三大核心部分:
提供了一個編寫 API 文檔的規(guī)范 ,稱為 OAS ,在規(guī)范中明確API的格式和一些編寫要素;
提供相關(guān)的工具,對 API 文檔的編寫提供輔助。主要是這么幾個項目 Swagger Editor、SwaggerUI、Swagger Codegen、Swagger Inspector;
提供對各種流行語言和框架的集成,例如,集成 SpringMVC 的 springfox 框架;

0x03:獨立接口平臺
現(xiàn)在越來越多的公司提供開放平臺,所以獨立接口平臺變得越來越常見了。比如,微信公眾平臺接口文檔、微信小程序接口文檔。

這種方案有非常多的選擇方案。
YApi(去哪兒出品)
倉庫地址:
https://github.com/cklwblove/yapiYApi 是高效、易用、功能強大的 api 管理平臺,旨在為開發(fā)、產(chǎn)品、測試人員提供更優(yōu)雅的接口管理服務(wù)。它可以幫助開發(fā)者輕松創(chuàng)建、發(fā)布、以及維護API。除此之外,YApi 還為用戶提供了優(yōu)秀的交互體驗,開發(fā)人員只需利用平臺提供的接口數(shù)據(jù)寫入工具以及簡單的點擊操作就可以實現(xiàn)接口的管理。
ShowDoc (收費)
ShowDoc 一個非常適合IT團隊的在線 API 文檔、技術(shù)文檔工具。隨著移動互聯(lián)網(wǎng)的發(fā)展,BaaS(后端即服務(wù))越來越流行。服務(wù)端提供 API,APP 端或者網(wǎng)頁前端便可方便調(diào)用數(shù)據(jù)。用 ShowDoc 可以非常方便快速地編寫出美觀的API文檔。

演示地址:
https://www.showdoc.com.cn/demo
RAP / rap2-delos + rap2-dolores(阿里出品)
阿里媽媽前端團隊出品的開源接口管理工具 RAP 第二代,RAP 通過 GUI 工具幫助 WEB 工程師更高效的管理接口文檔,同時通過分析接口結(jié)構(gòu)自動生成 Mock 數(shù)據(jù)、校驗真實接口的正確性,使接口文檔成為開發(fā)流程中的強依賴。有了結(jié)構(gòu)化的 API 數(shù)據(jù),RAP 可以做的更多,而我們可以避免更多重復(fù)勞動。基于 RAML 的接口定義、文檔生成、Mock Server 完成了定義和使用的分離,通過一套規(guī)范完成的接口定義,可以用不同的工具得到適應(yīng)不同API管理系統(tǒng)的輸出,有更多的可能性,同時保持了核心定義不變。RAP 較之于 RAML,前者更加集中,所有的定義、文檔、mock 都在同一個服務(wù)中完成,并且實時生效,方便快捷,如果只考慮方便易用,RAP 是更好的選擇,而 RAML 顯得更加繁瑣,更適合于公開的接口定義,方便在各個系統(tǒng)之間流轉(zhuǎn)。

演示地址:
http://rap2.taobao.org/
倉庫地址:
https://github.com/thx/rap2-delos
RAP 目前有兩個版本,第一個版本的 RAP 已經(jīng)被官方廢棄了,建議用第二個版本。RAP2 分成了兩個包:
rap2-delos:后端數(shù)據(jù) API 服務(wù)器
rap2-dolores:前端靜態(tài)資源
autotestplat(測試開發(fā)社區(qū)出品)
倉庫地址:
https://github.com/testdevhome/AutotestplatAutotestplat是高效、易用、功能強大的 api 自動化測試管理平臺,旨在為開發(fā)、產(chǎn)品、測試人員提供更優(yōu)雅的接口管理服務(wù)。它可以幫助開發(fā)者輕松創(chuàng)建、發(fā)布、以及維護API。除此之外,支持一站式自動化測試平臺及解決方案,支持 API、AppUI、WebUI 性能等自動化測試,集成實現(xiàn)測試用例管理、產(chǎn)品管理、任務(wù)計劃、測試報告、定 時任務(wù)或持續(xù)集成等功能模塊。使自動化測試的過程達到數(shù)據(jù)、腳本、任務(wù)分離易于維護和管理,成本更低、數(shù)據(jù)更直觀、產(chǎn)出更快等目標,能讓不會代碼的手工業(yè)務(wù)測試人員參與后續(xù)自動化測試工作等。

喜歡,在看
