Swagger環境搭建之非依賴代碼法

前言

Swagger 是一個規范和完整的框架,用于生成、描述、調用和可視化 RESTful 風格的 Web 服務??傮w目標是使客戶端和文件系統作為服務器以同樣的速度來更新。文件的方法,參數和模型緊密集成到服務器端的代碼,允許API來始終保持同步。Swagger 讓部署管理和使用功能強大的API從未如此簡單。好吧,以上是官方的說法,我直接復制的,在我看來swagger就是一個接口文檔管理器,以前我們寫接口一般都是world編寫,但是有一個問題就是測試的時候需要依賴第三方工具,GET的接口還好,直接瀏覽器打開,POST的只能依賴另外的工具了,而Swagger呢,可以直接通過代碼中的注解生成接口文檔(JavaEE),一般人都用這種方式,而且直接集成在項目中,方便成員查看,同時還能直接測試,另外Swagger的界面也不錯,也許這就是我選擇用Swagger的原因吧,直接官方說的RESTful 風格那個不用管,不是RESTful 風格的接口也能用,當然Swagger還有一種方式就是手動寫接口說明了,這樣的好處就是代碼只有代碼,因為一旦代碼中添加了Swagger的接口注解后,代碼量還是增加了不少,當然壞處就是你改完了代碼,還要去改接口文檔,而本文主要介紹第二種方式

關鍵點

Swagger-UI

Swagger-edit在線版

Swagger-edit

Swagger-UI

其實就是靜態的HTML、js、css文件,從github上下載下來,打開dist目錄下的index.html,就能從運行起來了,不過默認是swwager demo的接口文檔,如下圖:

效果圖

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

swagger-editor在線版

其實就是一個在線編輯接口文檔的網頁,剛才說過,Swagger-ui展示出來的接口完全依賴于的json的內容,所以我們可以通過Swagger-edit在線版來定制json的內容,不用自己寫json,當然Swagger-edit在線版也是通過yaml 標記語言來的,不過看一下demo,就會很容易學會,編寫完成后我們可以下載json文件到本地,供Swagger-ui使用,不過由于某種不為人知的原因,Swagger-edit在線版的訪問速度那叫一個慢,所以一般我們都會下載Swagger-Edit在本地來運行

swagger-editor

這個和Swagger-edit在線版是同一個東西,不過因為在線版的速度太慢,所以我們需要在本地來運行一個Swagger-edit,這樣就不存在網絡卡等問題了

開始部署

下載相關文件
1、下載Swagger-UI

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

2、下載swagger-editor

這一步不是必要的,如果你不想用默認在線版的,就可以執行這一步,當然目前除了Swagger默認提供了一個在線的編輯器,還有第三方的,如sosoapi,全中文傻瓜式操作的,上手快速

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

3、下載和安裝nodejs

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

4、安裝http-server

使用node.js安裝http-server模塊,主要通過http-server模塊來啟用http服務,運行swagger-editor,通過命令

npm install -g http-server

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

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

然后可能需要重啟cmd命令工具,運行

cnpm install -g http-server

這樣就能很快的安裝http-server了,同樣的道理,如果需要安裝其他模塊,也可以通過cnpm來安裝,然后通過cmd命令進入到Swagger-edit的根目錄,運行命令

http-server -p 8000 

-p的作用是指定端口,后面的8000就是我們指定的端口,訪問localhost:8000就可以進入swagger-edit就可以進入編輯界面了,左邊是編輯框,右邊是預覽界面,如下圖

效果圖

當然這一步也不是必須的,如果不愿用通過http-server來運行swagger-editor,可以通過tomcat來運行

<a name="tomcat"></a>tomcat運行swagger-editor

首先把swagger-editor目錄復制到tomcat根目錄的webapps,然后運行tomcat,訪問localhost:8080/swagger-editor就可以了

5、導出json

由于編寫接口文檔并不在本文檔的內容,所以關于編寫這里就不多做描述,而且主要我覺得編寫也沒啥可說,直接跟著默認的接口文檔來改就能看出來大概了,所以直接到最后一步,編寫完成后導出json文件

點擊File->DownLoad json就會下載swagger.json文件

6、部署swagger-ui

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

結語

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

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容