API管理平臺XXL-API

《API管理平臺XXL-API》

一大咱、簡介

1.1 概述

XXL-API是一個簡潔易用API管理平臺咆霜,提供API的"管理"、"文檔"忆矛、"Mock"和"測試"等功能〔於祝現(xiàn)已開放源代碼,開箱即用催训。

1.2 特性

  • 1洽议、極致簡單:交互簡潔,一分鐘上手漫拭;
  • 2亚兄、項目隔離:API以項目為維度進行拆分隔離;
  • 3采驻、分組管理:單個項目內(nèi)的API支持自定義分組進行管理审胚;
  • 4、標記星級:支持標注API星級礼旅,標記后優(yōu)先展示膳叨;
  • 5、API管理:創(chuàng)建痘系、更新和刪除API菲嘴;
  • 6、API屬性完善:支持設置豐富的API屬性如:API狀態(tài)汰翠、請求方法龄坪、請求URL、請求頭部复唤、請求參數(shù)健田、響應結(jié)果、響應結(jié)果格式佛纫、響應結(jié)果參數(shù)妓局、API備注等等;
  • 7呈宇、markdown:支持為API添加markdown格式的備注信息跟磨;
  • 8、Mock:支持為API定義Mock數(shù)據(jù)并制定數(shù)據(jù)響應格式攒盈,從而快速提供Mock接口抵拘,加快開發(fā)進度;
  • 9型豁、在線測試:支持在線對API進行測試并保存測試數(shù)據(jù)僵蛛,提供接口測試效率尚蝌;

1.3 下載

文檔地址

源碼倉庫地址

源碼倉庫地址 Release Download
https://github.com/xuxueli/xxl-api Download
http://git.oschina.net/xuxueli0323/xxl-api Download

技術(shù)交流

1.4 環(huán)境

  • Servlet/JSP Spec:3.0/2.2
  • JDK:1.7+
  • Tomcat:7+/Jetty8+
  • Mysql:5.6+
  • Maven:3+

二、快速部署

2.1 初始化“調(diào)度數(shù)據(jù)庫”

請下載項目源碼并解壓充尉,獲取 "初始化SQL腳本"飘言,腳本位置:

/xxl-api/db/xxl-api-mysql.sql

2.2 編譯源碼

解壓源碼,按照maven格式將源碼導入IDE, 使用maven進行編譯即可,源碼結(jié)構(gòu)如下圖所示:

輸入圖片說明

2.3 配置JDBC連接

在以下項目文件中設置應用的JDBC連接驼侠;

/xxl-api/xxl-api-admin/src/main/resources/xxl-api.properties

2.4 部署

將應用"xxl-api-admin"部署在容器如Tomcat下之后姿鸿,啟動后訪問即可進入以下界面:

輸入圖片說明

三、項目管理

系統(tǒng)中API以項目為單位進行管理倒源,因此首先需要管理項目苛预;項目管理界面如下圖所示;

輸入圖片說明

3.1 新建項目

進入項目管理界面笋熬,點擊右側(cè)"+新增項目"按鈕可新建項目热某,如下圖所示:

輸入圖片說明

項目屬性說明:

項目名稱:項目的名稱;
項目描述:項目的描述信息胳螟;
訪問權(quán)限:"公開"權(quán)限昔馋,表示所有人可操作;"私有"權(quán)限糖耸,表示只有管理員或者項目成員可以操作(功能自測中秘遏,即將推送);
跟地址-線上環(huán)境:項目線上環(huán)境跟地址嘉竟,項目中的API共用該跟地址邦危;
跟地址-預發(fā)布環(huán)境:項目預發(fā)布環(huán)境跟地址;
跟地址-測試環(huán)境:項目測試環(huán)境跟地址周拐;
版本:項目的版本信息铡俐;

3.2 更新項目

進入項目管理界面凰兑,點擊項目右側(cè)的"編輯"按鈕可更新項目信息妥粟,如下圖所示;

輸入圖片說明
輸入圖片說明

3.3 刪除項目

進入項目管理界面吏够,點擊項目右側(cè)的"刪除"按鈕可刪除項目信息勾给;注意,項目中存在API時不允許刪除锅知;

四播急、API管理

在項目管理界面,點擊項目右側(cè)的"進入項目"按鈕售睹,可進入接口管理界面桩警,如下圖所示:

輸入圖片說明

4.1 API分組管理

  • 新增API分組

如下圖,點擊"左側(cè)接口分組區(qū)域"右上角的"+"按鈕昌妹,可新增AIP接口分組捶枢;(點擊"全部"將會展示項目中所有分組下的接口握截;"默認分組"為系統(tǒng)分組,不允許刪除烂叔;)

輸入圖片說明
輸入圖片說明

接口分組屬性說明:

分組名稱:分組的名稱
分組排序:分組的排序順序谨胞,數(shù)字類型,值越小越靠前蒜鸡;
  • 更新API分組

在"左側(cè)接口分組區(qū)域"胯努,點擊對應的API分組,右側(cè)將會展示該分組下API接口列表逢防;如下圖叶沛,點擊接口列表頂部的"編輯分組"按鈕(新增的API分組才會有該功能),可修改API分組信息胞四;

輸入圖片說明
  • 刪除API分組

在"左側(cè)接口分組區(qū)域"恬汁,點擊對應的API分組,右側(cè)將會展示該分組下API接口列表辜伟;點擊接口列表頂部的"刪除分組"按鈕(新增的API分組才會有該功能)氓侧,可修改API分組信息;

4.2 API管理

  • 新增API

如下圖导狡,在API接口管理界面约巷,點擊接口列表頂部的"新增接口"按鈕,可進入新增接口界面旱捧;
在新增接口界面独郎,如下圖所示,可以設置接口的API狀態(tài)枚赡、請求方法氓癌、請求URL、請求頭部贫橙、請求參數(shù)贪婉、響應結(jié)果、響應結(jié)果格式卢肃、響應結(jié)果參數(shù)疲迂、API備注等等信息;

輸入圖片說明
輸入圖片說明
輸入圖片說明
輸入圖片說明

API屬性說明:

基礎信息:
    接口分組:接口所屬的分組莫湘;
    接口狀態(tài):接口的狀態(tài)尤蒿,在接口列表中,啟用狀態(tài)接口用綠色圓圈標識幅垮,維護狀態(tài)接口用黃色圓圈標識腰池,廢棄狀態(tài)接口用灰色圓圈標識;
    請求方法:請求方法,如POST示弓、GET等演怎;
    接口URL:接口請求的URL地址,注意此處為相對地址避乏,跟地址從所屬項目的跟地址屬性上獲纫;
    接口名稱:接口的名稱拍皮;
請求頭部:同一接口支持設置多個請求頭部歹叮;
    頭部標簽:請求頭部的類型,如Accept-Encoding铆帽;
    頭部內(nèi)容:請求頭部的數(shù)據(jù)咆耿,如Accept-Encoding頭部標簽的頭部內(nèi)容UTF-8;
請求參數(shù):同一接口支持設置多個請求參數(shù)爹橱;
    是否必填:該參數(shù)是否必填萨螺;
    參數(shù)類型:該參數(shù)的數(shù)據(jù)類型,如STRING愧驱;
    參數(shù)名稱:參數(shù)的名稱慰技;
    參數(shù)說明:參數(shù)的說明;
響應結(jié)果:分別支持設置 "成功響應結(jié)果" 和 "失敗響應結(jié)果"组砚,作為接口響應數(shù)據(jù)的參考吻商;
    響應數(shù)據(jù)類型(MIME):響應結(jié)果類型,如JSON糟红、XML等艾帐;
    響應結(jié)果數(shù)據(jù):響應結(jié)果的數(shù)據(jù),如響應結(jié)果類型為JSON時可設置響應結(jié)果數(shù)據(jù)為一段JSON數(shù)據(jù)盆偿;
響應結(jié)果參數(shù):對接口"響應結(jié)果"中參數(shù)的補充說明柒爸,如響應結(jié)果類型為JSON時,可在此處一一列出JSON各個字段的參數(shù)信息事扭;
    是否非空:該參數(shù)是否可能為空捎稚;
    參數(shù)類型:該參數(shù)的數(shù)據(jù)類型,如STRING句旱;
    參數(shù)名稱:參數(shù)的名稱阳藻;
    參數(shù)說明:參數(shù)的說明晰奖;
接口備注:markdown方式的接口備注谈撒;
  • 更新API

在API接口管理界面,點擊接口右側(cè)的"更新接口圖標"按鈕匾南,可進入更新接口界面啃匿;

輸入圖片說明
輸入圖片說明
  • 刪除API

在API接口管理界面,點擊接口右側(cè)的"刪除接口圖標"按鈕,可刪除接口數(shù)據(jù)溯乒;

4.3 API-Mock

  • 新增Mock數(shù)據(jù)
    在API接口管理界面夹厌,點擊接口名稱,進入"接口詳情頁"裆悄,在接口詳情頁的"Mock數(shù)據(jù)"模塊右上角點擊"+Mock數(shù)據(jù)"按鈕矛纹,可新增Mock數(shù)據(jù);

Mock數(shù)據(jù)屬性說明:

數(shù)據(jù)類型(MIME):響應結(jié)果類型光稼,如JSON或南、XML等;
結(jié)果數(shù)據(jù):響應結(jié)果的數(shù)據(jù)艾君,如響應結(jié)果類型為JSON時可設置響應結(jié)果數(shù)據(jù)為一段JSON數(shù)據(jù)采够;
輸入圖片說明
輸入圖片說明
輸入圖片說明
  • 更新Mock數(shù)據(jù)
    在"接口詳情頁"的"Mock數(shù)據(jù)"模塊,點擊Mock數(shù)據(jù)列表右側(cè)的"修改"按鈕冰垄,可修改Mock數(shù)據(jù)蹬癌;
輸入圖片說明
輸入圖片說明
  • 刪除Mock數(shù)據(jù)

在"接口詳情頁"的"Mock數(shù)據(jù)"模塊,點擊Mock數(shù)據(jù)列表右側(cè)的"刪除"按鈕虹茶,可刪除Mock數(shù)據(jù)逝薪;

  • 運行Mock數(shù)據(jù)

在"接口詳情頁"的"Mock數(shù)據(jù)"模塊,點擊Mock數(shù)據(jù)列表右側(cè)的"運行"按鈕蝴罪,可運行Mock數(shù)據(jù)翼闽;
系統(tǒng)將會為每一條Mock數(shù)據(jù)生成一個唯一的Mock連接,訪問該連接將會按照設置的數(shù)據(jù)類型如JSON返回對應格式的Mock數(shù)據(jù)洲炊,如下圖所示感局;

輸入圖片說明

4.4 API-測試

  • API-測試
    進入"接口詳情頁",點擊"Test歷史"模塊右上角的"+接口測試"按鈕暂衡,可進入"接口測試界面"询微,
    該界面將會自動初始化接口URL(測試界面支持選擇運行環(huán)境,將會自動生成不同環(huán)境的完整URL連接)和參數(shù)等信息狂巢。
    只需要填寫測試的參數(shù)值撑毛,點擊下方"運行"按鈕,即可發(fā)起一次接口請求唧领,請求結(jié)果將會在下方顯示出來:
輸入圖片說明
輸入圖片說明
  • 保存Test歷史

在"接口測試界面"藻雌,在進行接口測試后, 點擊下方"保存"按鈕將會把本次測試數(shù)據(jù)(接口URL,測試參數(shù)等信息)保存下來斩个。
在"接口詳情頁"的"Test歷史"模塊可查看所有的接口測試歷史記錄胯杭。點擊一次測試記錄右側(cè)的"運行"按鈕,將會進入到本次測試記錄對應的接口測試界面受啥,還原當時測試時使用的測試數(shù)據(jù)做个;

  • 刪除Test歷史

在"接口詳情頁"的"Test歷史"模塊鸽心,點擊測試歷史記錄右側(cè)的"刪除"按鈕可刪除本條記錄顽频;

五省骂、用戶管理

5.1、新增用戶

進入用戶管理界面,點擊右上角"+新增用戶"按鈕,可添加用戶信息讽膏;

輸入圖片說明
輸入圖片說明

用戶屬性說明:

登錄賬號:用戶的登錄賬號垄潮;
登錄密碼:用戶的登錄密碼逢勾;
用戶類型:
    普通用戶:只允許操作公開項目盟迟,或者自己擁有項目權(quán)限的私有項目迫皱;
    超級管理員:擁有所有項目的操作權(quán)限;
真實姓名:用戶的真實姓名;

5.2离赫、更新用戶

進入用戶管理界面,點擊用戶列表頁中用戶右側(cè)的"編輯"按鈕可編譯用戶信息塌碌;

5.3渊胸、刪除用戶

進入用戶管理界面,點擊用戶列表頁中用戶右側(cè)的"刪除"按鈕可刪除用戶信息台妆;

六翎猛、版本更新日志

七、其他

7.1 項目貢獻

歡迎參與項目貢獻接剩!比如提交PR修復一個bug办成,或者新建 Issue 討論新特性或者變更。

7.2 用戶接入登記

更多接入的公司搂漠,歡迎在 登記地址 登記迂卢,登記僅僅為了產(chǎn)品推廣。

7.3 開源協(xié)議和版權(quán)

產(chǎn)品開源免費桐汤,并且將持續(xù)提供免費的社區(qū)技術(shù)支持而克。個人或企業(yè)內(nèi)部可自由的接入和使用。

  • Licensed under the GNU General Public License (GPL) v3.
  • Copyright (c) 2015-present, xuxueli.

捐贈

無論金額多少都足夠表達您這份心意怔毛,非常感謝 :) XXL系列捐贈記錄

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末员萍,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子拣度,更是在濱河造成了極大的恐慌碎绎,老刑警劉巖螃壤,帶你破解...
    沈念sama閱讀 212,816評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異筋帖,居然都是意外死亡奸晴,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,729評論 3 385
  • 文/潘曉璐 我一進店門日麸,熙熙樓的掌柜王于貴愁眉苦臉地迎上來寄啼,“玉大人,你說我怎么就攤上這事代箭《栈” “怎么了?”我有些...
    開封第一講書人閱讀 158,300評論 0 348
  • 文/不壞的土叔 我叫張陵嗡综,是天一觀的道長乙帮。 經(jīng)常有香客問我,道長极景,這世上最難降的妖魔是什么蚣旱? 我笑而不...
    開封第一講書人閱讀 56,780評論 1 285
  • 正文 為了忘掉前任,我火速辦了婚禮戴陡,結(jié)果婚禮上塞绿,老公的妹妹穿的比我還像新娘。我一直安慰自己恤批,他們只是感情好异吻,可當我...
    茶點故事閱讀 65,890評論 6 385
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著喜庞,像睡著了一般诀浪。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上延都,一...
    開封第一講書人閱讀 50,084評論 1 291
  • 那天雷猪,我揣著相機與錄音,去河邊找鬼晰房。 笑死求摇,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的殊者。 我是一名探鬼主播与境,決...
    沈念sama閱讀 39,151評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼猖吴!你這毒婦竟也來了摔刁?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,912評論 0 268
  • 序言:老撾萬榮一對情侶失蹤海蔽,失蹤者是張志新(化名)和其女友劉穎共屈,沒想到半個月后绑谣,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,355評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡拗引,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,666評論 2 327
  • 正文 我和宋清朗相戀三年借宵,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片寺擂。...
    茶點故事閱讀 38,809評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡暇务,死狀恐怖泼掠,靈堂內(nèi)的尸體忽然破棺而出怔软,到底是詐尸還是另有隱情,我是刑警寧澤择镇,帶...
    沈念sama閱讀 34,504評論 4 334
  • 正文 年R本政府宣布挡逼,位于F島的核電站,受9級特大地震影響腻豌,放射性物質(zhì)發(fā)生泄漏家坎。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 40,150評論 3 317
  • 文/蒙蒙 一吝梅、第九天 我趴在偏房一處隱蔽的房頂上張望虱疏。 院中可真熱鬧,春花似錦苏携、人聲如沸做瞪。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,882評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽装蓬。三九已至,卻和暖如春纱扭,著一層夾襖步出監(jiān)牢的瞬間牍帚,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,121評論 1 267
  • 我被黑心中介騙來泰國打工乳蛾, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留暗赶,地道東北人。 一個月前我還...
    沈念sama閱讀 46,628評論 2 362
  • 正文 我出身青樓肃叶,卻偏偏與公主長得像忆首,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子被环,可洞房花燭夜當晚...
    茶點故事閱讀 43,724評論 2 351

推薦閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 171,867評論 25 707
  • 發(fā)現(xiàn) 關(guān)注 消息 iOS 第三方庫糙及、插件、知名博客總結(jié) 作者大灰狼的小綿羊哥哥關(guān)注 2017.06.26 09:4...
    肇東周閱讀 12,066評論 4 62
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理筛欢,服務發(fā)現(xiàn)浸锨,斷路器唇聘,智...
    卡卡羅2017閱讀 134,638評論 18 139
  • 近來真的體驗到了笑來老師說的“意外的好運”,我覺得做一個好人是獲得好運的前提柱搜,而笑來老師說的方法論是平時需...
    樂淘淘在曼城閱讀 439評論 0 1
  • 我回家工作迟郎,已經(jīng)快4個月了,期間各種的不適應聪蘸,以前在廣州實習的時候宪肖,我們這些實習生是屬于年齡小的,都得到同事...
    哈皮小孩閱讀 142評論 0 0