有沒有開源的api管理系統?

現在自己用php寫很多api介面,需要有個api管理系統專門來管理這些api,還請大家幫忙介紹個這樣的系統


國外的話Swagger(Swagger – The Worldamp;amp;#x27;s Most Popular Framework for APIs.),

目前國內做得比較好的是eoLinker(eoLinker 介面管理平台 | 業內領先的介面管理平台,讓專業的介面管理變簡單!)

eoLinker一直比較低調,更加專註用戶體驗和功能性的提升。

eoLinker有線上版本和開源版本,基於PHP。

附上eoLinker-AMS介面管理系統的一些簡介(來自eoLinker的官網):

介面管理

  • 無論是個人開發者、創業團隊還是成熟企業,eoLinker-AMS介面管理系統都可以滿足對應的介面管理需求。
  • 不再需要為每個項目搭建獨立的介面管理平台和編寫離線的介面文檔,一切的項目介面管理都將在雲端進行。

項目協作

  • 傳統的word、excel以及自建wiki等文檔工具,均無法擺脫編寫繁瑣、閱讀困難、維護麻煩等缺點。
  • eoLinker-AMS介面管理系統能夠讓你註冊後便開始協作,其規範化的文檔、清晰的分類以及友好的閱讀界面,讓文檔更新和協作不再痛苦。

在線測試

  • 傳統如DHC以及postman等測試工具已無法滿足介面管理工作,並且無法提供性能測試報告。
  • eoLinker則將代替傳統測試工具,無須翻牆和安裝,只需網頁輕輕一點即可得知完整的介面測試信息。

eoLinker開源版本:


可以試試 NEI - 介面管理平台,不過目前沒有提供開源的版本,發出來也只是想和大家交流一下,因為產品功能還在不斷的探索當中~

NEI 是網易杭研院前端技術部推出的一款產品,旨在管理項目中的介面,並圍繞介面這個最核心的資源,開發了其他一些非常有用的功能,比如項目文檔、協作、工程腳手架等。

NEI 是按項目來管理前後端通信的非同步介面的,除了介面之外,還有頁面管理、數據模型(對應後端的JavaBean)、頁面模板、規則函數(自定義MOCK數據)、業務分組等資源的概念。除此之外,還有介面測試、工程規範等功能。

工程規範相當於腳手架,在 NEI 上定義好介面後,使用構建工具GitHub - NEYouFan/nei-toolkit: NEI 介面管理平台配套自動化工具就可以生成非同步介面的MOCK數據了,方便前後端並行開發。

對 NEI 有興趣的朋友,可以先看看下面的幾篇文檔:

  1. NEI 基本概念介紹
  2. NEI 工程規範介紹
  3. 使用 NEI 進行前後端並行開發
  4. 老項目遷移到 NEI 上的說明

目前 NEI 已經託管在網易雲服務上,系統穩定性有了很大的保障。

利益相關,NEI 開發者


什麼是DOClever?

DOClever是一個商業化開源產品,完全免費。無論你是前端工程師,還是後端工程師,介面永遠都是兩者交互的橋樑,所以DOClever專為中小型團隊量身打造,旨在解決介面的管理,測試與數據生成,實現真正的一體化解決方案。

DOClever有哪些功能

1.可以對介面信息進行編輯管理,支持get,post,put,delete,patch五種方法,支持https和https協議,並且支持query,body,json,raw,rest,formdata的參數可視化編輯。同時對json可以進行無限層次可視化編輯。並且,狀態碼,代碼注入,markdown文檔等附加功能應有盡有。

2.介面調試運行,一個都不能少,可以對參數進行加密,從md5到aes一應俱全,返回參數與模型實時分析對比,給出不一致的地方,找出介面可能出現的問題。如果你不想手寫文檔,那麼試試介面的數據生成功能,可以對介面運行的數據一鍵生成文檔信息。

3.mock的無縫整合,DOClever自己就是一個mock伺服器,當你把介面的開發狀態設置成已完成,本地mock便會自動請求真實介面數據,否則返回事先定義好的mock數據。

4.支持postman,rap,swagger的導入,方便你做無縫遷移,同時也支持html文件的導出,方便你離線瀏覽!

5.項目版本和介面快照功能並行,你可以為一個項目定義1.0,1.1,1.2版本,並且可以自由的在不同版本間切換回滾,再也不怕介面信息的遺失,同時介面也有快照功能,當你介面開發到一半或者介面需求變更的時候,可以隨時查看之前編輯的介面信息。

6.自動化測試功能,目前市面上類似平台的介面自動化測試大部分都是偽自動化,對於一個複雜的場景,比如獲取驗證碼,登陸,獲取訂單列表,獲取某個特定訂單詳情這樣一個上下文關聯的一系列操作無能為力。而DOClever獨創的自動化測試功能,只需要你編寫極少量的javascript代碼便可以在網頁里完成這樣一系列操作,同時,DOClever還提供了後台定時批量執行測試用例並把結果發送到團隊成員郵箱的功能,你可以及時獲取介面的運行狀態。

7.團隊協作功能,很多類似的平台這樣的功能是收費的,但是DOClever覺得好東西需要共享出來,你可以新建一個團隊,並且把團隊內的成員都拉進來,給他們分組,給他們分配相關的項目以及許可權,發布團隊公告等等。

8.DOClever開源免費,支持內網部署,很多公司考慮到數據的安全性,不願意把介面放到公網上,沒有關係,DOClever給出一個方便快捷的解決方案,你可以把平台放到自己的內網上,完全不需要連接外網,同時功能一樣也不少,即便是對於產品的升級,DOClever也提供了很便捷的升級方案!

產品地址

http://doclever.cn

問題反饋

如果你有任何問題和建議,請在issues裡面指出,每個月的1號和15號會發布功能迭代版本,根據bug情況不定期的會發布bug迭代版本。如果你想加入開源的大家庭,歡迎加入qq群:611940610


這個。。。。。不只是API的問題吧。。。核心(整體)系統在做架構設計的時候就要考慮進去,你現在半路來個只管暴露給外面的,這個框架沒多少意義,最多也就管管日誌,狀態等,新增介面,還是需要和數據提供的系統做很耦合的工作。


Apizza - 為極客打造的api管理工具 http://apizza.cc

利益相關:作者


推薦 YApi可視化介面管理系統

隨著web技術的發展,前後端分離成為越來越多互聯網公司構建應用的方式。前後端分離的優勢是一套Api可被多個客戶端復用,分工和協作被細化,大大提高了編碼效率,但同時也帶來一些「副作用」:

  1. 介面文檔不可靠。很多小夥伴管理介面文檔,有使用wiki的,有word文檔的,甚至還有用聊天軟體口口相傳的,後端介面對於前端就像一個黑盒子,經常遇到問題是介面因未知原因增加參數了,參數名變了,參數被刪除了。
  2. 測試數據生成方案沒有統一出口。我們都有這樣的經歷,前端開發功能依賴後端,解決方案有自己在代碼注入json的,還有後端工程師臨時搭建一套測試數據伺服器,這種情況下勢必會影響工作效率和代碼質量,也不能及時進行更新。
  3. 資源分散,無法共享。介面調試每個開發者單獨維護一套Postman介面集,每個人無法共用其他人的介面集,存在大量重複填寫請求參數工作,最重要的是postman沒法跟介面定義關聯起來,導致後端沒有動力去維護介面文檔。

基於此,我們在前端和後端之間搭建了專屬橋樑——YApi介面管理平台

特性:

  • 基於 Json5 和 Mockjs 定義介面返回數據的結構和文檔,效率提升多倍
  • 扁平化許可權設計,即保證了大型企業級項目的管理,又保證了易用性
  • 類似 postman 的介面調試
  • 自動化測試, 支持對 Response 斷言
  • MockServer 除支持普通的隨機 mock 外,還增加了 Mock 期望功能,根據設置的請求過濾規則,返回期望數據
  • 支持 postman, har, swagger 數據導入
  • 免費開源,內網部署,信息再也不怕泄露了

github: http://github.com/ymfe/yapi


阿里爸爸的RAP

鏈接:歡迎使用RAP

官網的介紹:RAP是一個可視化介面管理工具 通過分析介面結構,動態生成模擬數據,校驗真實介面正確性, 圍繞介面定義,通過一系列自動化工具提升我們的協作效率。我們的口號:提高效率,回家吃晚飯!

github鏈接:home_cn · thx/RAP Wiki · GitHub

github介紹:Table of Contents generated with DocToc

  • 什麼是RAP?
  • RAP的特色

RAP是一個GUI的WEB介面管理工具。在RAP中,您可定義介面的URL、請求響應細節格式等等。通過分析這些數據,RAP提供MOCK服務、測試服務等自動化工具。RAP同時提供大量企業級功能,幫助企業和團隊高效的工作。

about_cn · thx/RAP Wiki · GitHub什麼是RAP?

在前後端分離的開發模式下,我們通常需要定義一份介面文檔來規範介面的具體信息。如一個請求的地址、有幾個參數、參數名稱及類型含義等等。RAP 首先方便團隊錄入、查看和管理這些介面文檔,並通過分析結構化的文檔數據,重複利用並生成自測數據、提供自測控制台等等... 大幅度提升開發效率。

about_cn · thx/RAP Wiki · GitHubRAP的特色

  • 強大的GUI工具 給力的用戶體驗,你將會愛上使用RAP來管理您的API文檔。
  • 完善的MOCK服務 文檔定義好的瞬間,所有介面已經準備就緒。有了MockJS,無論您的業務模型有多複雜,它都能很好的滿足。
  • 龐大的用戶群 RAP在阿里巴巴有200多個大型項目在使用,也有許多著名的公司、開源人士在使用。RAP跟隨這些業務的成行而成長,專註細節,把握質量,經得住考驗。
  • 免費 + 專業的技術支持 RAP是免費的,而且你的技術諮詢都將在24小時內得到答覆。大多數情況,在1小時內會得到答覆。

個人使用心得:

1、可以把json直接導入

2、可以在文檔寫好的情況下,不要後台服務,直接使用MockJS生成測試數據

3、可以在寫欄位名後ALT+Enter,就把相同的欄位的數據結構生成了。

4、可以把介面直接複製或者移動到另一個地方

5、還要可以直接把文檔導出,不過只能導出成html


ShowDoc是什麼

  • 每當接手一個他人開發好的模塊或者項目,看著那些沒有寫注釋的代碼,我們都無比抓狂。文檔呢?!文檔呢?!Show me the doc !!

  • 程序員都很希望別人能寫技術文檔,而自己卻很不希望要寫文檔。因為寫文檔需要花大量的時間去處理格式排版,想著新建的word文檔放在哪個目錄等各種非技術細節。

  • word文檔零零散散地放在團隊不同人那裡,需要文檔的人基本靠吼,吼一聲然後上qq或者郵箱接收對方丟過來的文檔。這種溝通方式當然可以,只是效率不高。

  • ShowDoc就是一個非常適合IT團隊的在線文檔分享工具,它可以加快團隊之間溝通的效率。

它可以用來做什麼

  • API文檔( 查看Demo)
    • 隨著移動互聯網的發展,BaaS(後端即服務)越來越流行。服務端提供API,APP端或者網頁前端便可方便調用數據。用ShowDoc可以非常方便快速地編寫出美觀的API文檔。

  • 數據字典( 查看Demo)
    • 一份好的數據字典可以很方便地向別人說明你的資料庫結構,如各個欄位的釋義等。

  • 說明文檔
    • 你完全可以使用showdoc來編寫一些工具的說明書,也可以編寫一些技術規範說明文檔以供團隊查閱

它都有些什麼功能

  • 分享與導出
    • 響應式網頁設計,可將項目文檔分享到電腦或移動設備查看。同時也可以將項目導出成word文件,以便離線瀏覽。

  • 許可權管理
    • 公開項目與私密項目

      • ShowDoc上的項目有公開項目和私密項目兩種。公開項目可供任何登錄與非登錄的用戶訪問,而私密項目則需要輸入密碼驗證訪問。密碼由項目創建者設置。

    • 項目轉讓

      • 項目創建者可以自由地把項目轉讓給網站的其他用戶。

    • 項目成員

      • 你可以很方便地為ShowDoc的項目添加、刪除項目成員。項目成員可以對項目進行編輯,但不可轉讓或刪除項目(只有項目創建者才有許可權)

  • 編輯功能
    • markdown編輯

      • ShowDoc採用markdown編輯器,無論是編輯還是閱讀體驗都極佳很棒。如果你不了解Markdown,請在搜索引擎搜索"認識與入門 Markdown"

    • 模板插入

      • 在ShowDoc的編輯頁面,點擊編輯器上方的按鈕可方便地插入API介面模板和數據字典模板。插入模板後,剩下的就是改動數據了,省去了很多編輯的力氣。

    • 歷史版本

      • ShowDoc為頁面提供歷史版本功能,你可以方便地把頁面恢復到之前的版本。

部署到自己的伺服器

  • ShowDoc部署手冊

    請參考:http://blog.star7th.com/2016/05/2007.html

使用在線的ShowDoc

  • 如果你沒有自己的伺服器,但又想使用ShowDoc作為分檔分享工具,你可以使用在線的ShowDoc ShowDoc


CrapApi:一個由anjularjs+bootstrap+springMVC搭建的免費開源的API介面、文檔管理系統(應用介面管理系統)CrapApi|介面管理系統

CrapApi|Api介面管理系統系統特點:簡單、極致、開源、前沿

主要功能:介面管理、介面調試、文檔管理、數據字典管理....

演示地址:CrapApi|介面管理系統

GitHub開源地址:GitHub - EhsanTang/CrapApi: Application Programming Interface

碼雲開源地址:CrapApi/CrapApi


我一直在用QuickAPI介面管理工具,你可以試試。好用的一點就是不用裝插件就可以調試本地介面,調試工具和PostMan極其類似,可以驗證OAuth2.0,附帶的還有介面監控、定時介面執行以及調試介面文檔自動下載,我一般用他的調試功能,其他的功能我暫時還沒用上。給你一個地址吧 www.qkapi.com


靈長科技

我們正在基於CDIF: 世界上第一個基於JSON的SOA框架製作一個新的API管理系統。我們的API管理解決方案為客戶端提供統一的API模型和RPC調用介面。客戶端完全不需要去關心API的具體實現方法,比如API是用get, put, 還是post實現,API的endpoint url是什麼,HTTP頭上需要放什麼內容,參數該放在query string, form還是json body里。API開發者只需要寫好介面的JSON schema給客戶端使用即可。所有的API文檔都從JSON schema自動生成,客戶端代碼也可以實時看到API模型以及他們的任何變化。供參考並歡迎交流。

下面連接里有我們的API管理解決方案使用方法介紹:

靈長科技API管理解決方案介紹-在線播放-優酷網,視頻高清在線觀看


在原有api情況下再搞個API管理系統意義不大。其實工程師想要的是一整套API開發框架,所有API都是基於API框架開發,API框架集成基礎用戶系統,比如開源方案ucenter,API框架本身做到文檔自動生成,集成測試助手,錯誤描述支持多國語言,get請求緩存,restful設計,和gitlab集成 用於版本管理,接著Jenkins 上面自動化pull 版本 單元測試,冒煙測試,壓力測試,運行日誌分析,提取失敗崩潰日誌並郵件通知。高端點 可以具體到 某個API 各種版本間的內存佔用曲線,相同並發量下請求時間曲線。持續集成扯遠了,生產API系統在運行時,可以做到精確到具體api級別的統計 包括所有header信息,沒有正常返回結果API進行錯誤日誌記錄整理到日誌系統並email程序員郵箱,出入網規則則可以做到限制單位時間內各類請求等,比如限制具體的ip或者ip段才可以進行某個API的patch請求,且一小時內5000次請求總量。api支持多種類型請求 如get post patch put delete head,支持多種數據類型返回 比如 xml json jsonp msgpack壓縮的格式,提供多種編程語言的sdk,比如我的團隊 做移動開發,我提供java objective-c版本的封裝類庫,第三方團隊是搞golang的,封裝一個golang版本sdk,API系統支持實時生產pdf epub格式 各個版本下的文檔,sdk+sdk文檔給客戶 而不是把線上那套開放給客戶。以上除了持續集成那套,其他都屬於API系統工作,有空再晒圖。


WSO2 API Management


Quick api挺不錯的,可以試試

www .http://qkapi.com


阿里媽媽出的Rap,本土化個人覺得還不錯


靈長科技

我們正在基於CDIF: 世界上第一個基於JSON的SOA框架製作一個新的API管理系統。我們的API管理解決方案為客戶端提供統一的API模型和RPC調用介面。客戶端完全不需要去關心API的具體實現方法,比如API是用get, put, 還是post實現,API的endpoint url是什麼,HTTP頭上需要放什麼內容,參數該放在query string, form還是json body里。API開發者只需要寫好介面的JSON schema給客戶端使用即可。所有的API文檔都從JSON schema自動生成,客戶端代碼也可以實時看到API模型以及他們的任何變化。供參考並歡迎交流。

下面連接里有我們的API管理解決方案使用方法介紹:

靈長科技API管理解決方案介紹-在線播放-優酷網,視頻高清在線觀看


開源api管理系統 smartapi Aresyi/smart-api

演示站點: www.179smart.com 或 api.iqismart.com

介紹:smartapi - 免費開源api管理平台發布了 - 一起smart


小幺雞


推薦swagger和apidoc


sapi是免費開源API介面管理系統 基於thinkphp開發

碼雲地址:簡單/sapi - 碼雲,擁有完善的前後台,使用簡單,可以直接在企業內網中部署使用。歡迎大家使用,我將不斷的完善它


推薦閱讀:

知乎將如何做開放?
網上的天氣 API 哪一個更加可靠?
為什麼很多技術類英文網站的 API 都有日語版本?
如何看待「機器學習不需要數學,很多演算法封裝好了,調個包就行」這種說法?

TAG:PHP | API | 管理系統 |