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

接口詳情

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

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

這種方案有非常多的選擇方案。
YApi(去哪兒出品)
倉庫地址:
https://github.com/cklwblove/yapiYApi 是高效、易用、功能強(qiáng)大的 api 管理平臺(tái),旨在為開發(fā)、產(chǎn)品、測試人員提供更優(yōu)雅的接口管理服務(wù)。它可以幫助開發(fā)者輕松創(chuàng)建、發(fā)布、以及維護(hù)API。除此之外,YApi 還為用戶提供了優(yōu)秀的交互體驗(yàn),開發(fā)人員只需利用平臺(tái)提供的接口數(shù)據(jù)寫入工具以及簡單的點(diǎn)擊操作就可以實(shí)現(xiàn)接口的管理。
ShowDoc (收費(fèi))
ShowDoc 一個(gè)非常適合IT團(tuán)隊(duì)的在線 API 文檔、技術(shù)文檔工具。隨著移動(dòng)互聯(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(阿里出品)
阿里媽媽前端團(tuán)隊(duì)出品的開源接口管理工具 RAP 第二代,RAP 通過 GUI 工具幫助 WEB 工程師更高效的管理接口文檔,同時(shí)通過分析接口結(jié)構(gòu)自動(dòng)生成 Mock 數(shù)據(jù)、校驗(yàn)真實(shí)接口的正確性,使接口文檔成為開發(fā)流程中的強(qiáng)依賴。有了結(jié)構(gòu)化的 API 數(shù)據(jù),RAP 可以做的更多,而我們可以避免更多重復(fù)勞動(dòng)。基于 RAML 的接口定義、文檔生成、Mock Server 完成了定義和使用的分離,通過一套規(guī)范完成的接口定義,可以用不同的工具得到適應(yīng)不同API管理系統(tǒng)的輸出,有更多的可能性,同時(shí)保持了核心定義不變。RAP 較之于 RAML,前者更加集中,所有的定義、文檔、mock 都在同一個(gè)服務(wù)中完成,并且實(shí)時(shí)生效,方便快捷,如果只考慮方便易用,RAP 是更好的選擇,而 RAML 顯得更加繁瑣,更適合于公開的接口定義,方便在各個(gè)系統(tǒng)之間流轉(zhuǎn)。

演示地址:
http://rap2.taobao.org/
倉庫地址:
https://github.com/thx/rap2-delos
RAP 目前有兩個(gè)版本,第一個(gè)版本的 RAP 已經(jīng)被官方廢棄了,建議用第二個(gè)版本。RAP2 分成了兩個(gè)包:
rap2-delos:后端數(shù)據(jù) API 服務(wù)器
rap2-dolores:前端靜態(tài)資源

喜歡,在看
