採用vue編寫的功能強大的swagger-ui頁面

  • 2020 年 3 月 30 日
  • 筆記

think-swagger-ui-vuele

swagger-ui有非常多的版本,覺得不太好用,用postman,每個接口都要自己進行錄入。所以在基於think-vuele進行了swagger格式json的解析,自己實現了一套swaggerui界面。

swagger分為後端數據提供方方和前端頁面展示請求方。從一定角度來看,swagger是一種標準的數據格式的定義,對於不同語言進行實現一些註解API式的東西,能快速生成這種描述restful格式的api信息的json串.

此項目模塊依賴於think-vuele

demo:http://sw.tennetcn.com

github:https://github.com/chfree/think-swagger-ui-vuele

使用方式

自行下載編譯

// 下載代碼  git clone https://github.com/chfree/think-swagger-ui-vuele    // 安裝依賴  npm install    // 直接運行  npm run dev    // 打包  npm run build  

java項目 maven直接依賴

<dependency>    <groupId>com.tennetcn.free</groupId>    <artifactId>think-swagger-ui-starter</artifactId>    <version>0.0.4</version>  </dependency>  

此jar包的開源項目為think-free-base中的子項目模塊

登陸

登陸界面分為json模式和swagger請求地址訪問,沒多大區別,只有拿到標準的swaggerjson數據即可。

支持兩種主題,一種是後端管理系統模式的主題。另外一種也是類似,中間1024px進行居中,兩邊留白。

swagger_login

主頁

對於我使用過的一個版本的swagger來說,當接口數量在1000+以上,會等的時間非常長,原因是他一次將所有接口數據進行解析渲染,這個就是慢的原因。

所以我將此進行優化,改為先解析出api摘要信息,然後在點擊摘要的時候進行請求頭、請求體的渲染;基本可以做到秒開

可以自動填充非json請求體的數據,採用的是mock.Random

對於json請求體的數據,可以進行json格式化編輯,也是非常方便。json在線格式化編輯使用的是josdejong大神的jsoneditor

對於響應數據直接採用json格式化組件進行格式化展示,支持展開層級。再也不用將返回的數據在去找相關的json格式化工具進行格式化了。格式化控件採用的是chenfengjw163大神的vue-json-viewer

swagger_simple

swagger_edit_json

swagger_custom_field

swagger_admin

設置

在後端api請求的時候,一般都會在請求頭中帶一些token的驗證,來進行用戶標識,所以在設置中,進行了自定義請求頭的設置,可以方便的設置相關的請求頭,在任何一個請求都會自動帶上設置的請求信息。

swagger_common_setting

swagger 信息展示

來源於後端swagger配置的相關信息在此處進行展示
swagger_info