Swagger環(huán)境搭建之非依賴代碼法

前言

Swagger 是一個規(guī)范和完整的框架,用于生成躬窜、描述浇垦、調(diào)用和可視化 RESTful 風(fēng)格的 Web 服務(wù)∪侔ぃ總體目標(biāo)是使客戶端和文件系統(tǒng)作為服務(wù)器以同樣的速度來更新男韧。文件的方法,參數(shù)和模型緊密集成到服務(wù)器端的代碼默垄,允許API來始終保持同步此虑。Swagger 讓部署管理和使用功能強(qiáng)大的API從未如此簡單。好吧口锭,以上是官方的說法朦前,我直接復(fù)制的,在我看來swagger就是一個接口文檔管理器讹弯,以前我們寫接口一般都是world編寫况既,但是有一個問題就是測試的時候需要依賴第三方工具这溅,GET的接口還好组民,直接瀏覽器打開,POST的只能依賴另外的工具了悲靴,而Swagger呢臭胜,可以直接通過代碼中的注解生成接口文檔(JavaEE),一般人都用這種方式,而且直接集成在項目中癞尚,方便成員查看耸三,同時還能直接測試,另外Swagger的界面也不錯浇揩,也許這就是我選擇用Swagger的原因吧仪壮,直接官方說的RESTful 風(fēng)格那個不用管,不是RESTful 風(fēng)格的接口也能用胳徽,當(dāng)然Swagger還有一種方式就是手動寫接口說明了积锅,這樣的好處就是代碼只有代碼爽彤,因為一旦代碼中添加了Swagger的接口注解后,代碼量還是增加了不少缚陷,當(dāng)然壞處就是你改完了代碼适篙,還要去改接口文檔,而本文主要介紹第二種方式

關(guān)鍵點(diǎn)

Swagger-UI

Swagger-edit在線版

Swagger-edit

Swagger-UI

其實就是靜態(tài)的HTML箫爷、js嚷节、css文件,從github上下載下來虎锚,打開dist目錄下的index.html硫痰,就能從運(yùn)行起來了,不過默認(rèn)是swwager demo的接口文檔窜护,如下圖:

效果圖

Swagger主要通過json文件來實現(xiàn)接口文檔和接口說明等功能碍论,所以我們在輸入框內(nèi)輸入不同的json地址,就能打開不同的接口文檔

swagger-editor在線版

其實就是一個在線編輯接口文檔的網(wǎng)頁柄慰,剛才說過鳍悠,Swagger-ui展示出來的接口完全依賴于的json的內(nèi)容,所以我們可以通過Swagger-edit在線版來定制json的內(nèi)容坐搔,不用自己寫json藏研,當(dāng)然Swagger-edit在線版也是通過yaml 標(biāo)記語言來的,不過看一下demo概行,就會很容易學(xué)會蠢挡,編寫完成后我們可以下載json文件到本地,供Swagger-ui使用凳忙,不過由于某種不為人知的原因业踏,Swagger-edit在線版的訪問速度那叫一個慢,所以一般我們都會下載Swagger-Edit在本地來運(yùn)行

swagger-editor

這個和Swagger-edit在線版是同一個東西涧卵,不過因為在線版的速度太慢勤家,所以我們需要在本地來運(yùn)行一個Swagger-edit,這樣就不存在網(wǎng)絡(luò)卡等問題了

開始部署

下載相關(guān)文件
1柳恐、下載Swagger-UI

Swagger-UI伐脖,直接通過git clone或者下載zip都可以,使用到核心的東西就是下載下來的dist文件夾里面的東西

2乐设、下載swagger-editor

這一步不是必要的讼庇,如果你不想用默認(rèn)在線版的,就可以執(zhí)行這一步近尚,當(dāng)然目前除了Swagger默認(rèn)提供了一個在線的編輯器蠕啄,還有第三方的,如sosoapi戈锻,全中文傻瓜式操作的歼跟,上手快速

下載時建議下載最新版的編譯后的包却嗡,在swagger-editor頁面中有說明當(dāng)前最新的版本號和下載地址

3、下載和安裝nodejs

這一步就不詳細(xì)說了嘹承,到處都是教程窗价,而且就算沒有教程,相信對于程序員來說安裝一個軟件也是輕而易舉的事情叹卷,如果不想用這個撼港,可以直接跳過,查看<a href="#tomcat">tomcat運(yùn)行swagger-editor</a>

4骤竹、安裝http-server

使用node.js安裝http-server模塊帝牡,主要通過http-server模塊來啟用http服務(wù),運(yùn)行swagger-editor蒙揣,通過命令

npm install -g http-server

不過由于某些原因靶溜,國內(nèi)安裝可能會非常慢,這時候我們就可以用淘寶 NPM 鏡像,來加速
首先運(yùn)行命令

npm install -g cnpm --registry=https://registry.npm.taobao.org

然后可能需要重啟cmd命令工具懒震,運(yùn)行

cnpm install -g http-server

這樣就能很快的安裝http-server了罩息,同樣的道理,如果需要安裝其他模塊个扰,也可以通過cnpm來安裝瓷炮,然后通過cmd命令進(jìn)入到Swagger-edit的根目錄,運(yùn)行命令

http-server -p 8000 

-p的作用是指定端口递宅,后面的8000就是我們指定的端口娘香,訪問localhost:8000就可以進(jìn)入swagger-edit就可以進(jìn)入編輯界面了,左邊是編輯框办龄,右邊是預(yù)覽界面烘绽,如下圖

效果圖

當(dāng)然這一步也不是必須的,如果不愿用通過http-server來運(yùn)行swagger-editor俐填,可以通過tomcat來運(yùn)行

<a name="tomcat"></a>tomcat運(yùn)行swagger-editor

首先把swagger-editor目錄復(fù)制到tomcat根目錄的webapps安接,然后運(yùn)行tomcat,訪問localhost:8080/swagger-editor就可以了

5玷禽、導(dǎo)出json

由于編寫接口文檔并不在本文檔的內(nèi)容赫段,所以關(guān)于編寫這里就不多做描述,而且主要我覺得編寫也沒啥可說矢赁,直接跟著默認(rèn)的接口文檔來改就能看出來大概了,所以直接到最后一步贬丛,編寫完成后導(dǎo)出json文件

點(diǎn)擊File->DownLoad json就會下載swagger.json文件

6撩银、部署swagger-ui

首先把json文件復(fù)制到swagger-ui根目錄,修改index.html的引用json文件的url豺憔,最后直接打開index.html也行额获,部署到服務(wù)器也行够庙,不過要注意index.html中引用的json文件的url一定要正確

結(jié)語

到此為止部署swagger的步驟已經(jīng)完成了,如果有不明白或者不清楚的地方抄邀,可以留言交流

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末耘眨,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子境肾,更是在濱河造成了極大的恐慌剔难,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,042評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件奥喻,死亡現(xiàn)場離奇詭異偶宫,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)环鲤,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,996評論 2 384
  • 文/潘曉璐 我一進(jìn)店門纯趋,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人冷离,你說我怎么就攤上這事吵冒。” “怎么了西剥?”我有些...
    開封第一講書人閱讀 156,674評論 0 345
  • 文/不壞的土叔 我叫張陵桦锄,是天一觀的道長。 經(jīng)常有香客問我蔫耽,道長结耀,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,340評論 1 283
  • 正文 為了忘掉前任匙铡,我火速辦了婚禮图甜,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘鳖眼。我一直安慰自己黑毅,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,404評論 5 384
  • 文/花漫 我一把揭開白布钦讳。 她就那樣靜靜地躺著矿瘦,像睡著了一般。 火紅的嫁衣襯著肌膚如雪愿卒。 梳的紋絲不亂的頭發(fā)上缚去,一...
    開封第一講書人閱讀 49,749評論 1 289
  • 那天,我揣著相機(jī)與錄音琼开,去河邊找鬼易结。 笑死,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的搞动。 我是一名探鬼主播躏精,決...
    沈念sama閱讀 38,902評論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼鹦肿!你這毒婦竟也來了矗烛?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,662評論 0 266
  • 序言:老撾萬榮一對情侶失蹤箩溃,失蹤者是張志新(化名)和其女友劉穎瞭吃,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體碾篡,經(jīng)...
    沈念sama閱讀 44,110評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡虱而,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,451評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了开泽。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片牡拇。...
    茶點(diǎn)故事閱讀 38,577評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖穆律,靈堂內(nèi)的尸體忽然破棺而出惠呼,到底是詐尸還是另有隱情,我是刑警寧澤峦耘,帶...
    沈念sama閱讀 34,258評論 4 328
  • 正文 年R本政府宣布剔蹋,位于F島的核電站,受9級特大地震影響辅髓,放射性物質(zhì)發(fā)生泄漏泣崩。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,848評論 3 312
  • 文/蒙蒙 一洛口、第九天 我趴在偏房一處隱蔽的房頂上張望矫付。 院中可真熱鬧,春花似錦第焰、人聲如沸买优。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,726評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽杀赢。三九已至,卻和暖如春湘纵,著一層夾襖步出監(jiān)牢的瞬間脂崔,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,952評論 1 264
  • 我被黑心中介騙來泰國打工瞻佛, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留脱篙,地道東北人娇钱。 一個月前我還...
    沈念sama閱讀 46,271評論 2 360
  • 正文 我出身青樓伤柄,卻偏偏與公主長得像绊困,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子适刀,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,452評論 2 348

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