採用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
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
請求地址訪問,沒多大區別,只有拿到標準的swagger
的json
數據即可。
支持兩種主題,一種是後端管理系統模式的主題。另外一種也是類似,中間1024px進行居中,兩邊留白。
主頁
對於我使用過的一個版本的swagger
來說,當接口數量在1000+
以上,會等的時間非常長,原因是他一次將所有接口數據進行解析渲染,這個就是慢的原因。
所以我將此進行優化,改為先解析出api
摘要信息,然後在點擊摘要的時候進行請求頭、請求體的渲染;基本可以做到秒開
可以自動填充非json
請求體的數據,採用的是mock.Random
。
對於json請求體的數據,可以進行json
格式化編輯,也是非常方便。json
在線格式化編輯使用的是josdejong
大神的jsoneditor
對於響應數據直接採用json
格式化組件進行格式化展示,支持展開層級。再也不用將返回的數據在去找相關的json
格式化工具進行格式化了。格式化控件採用的是chenfengjw163
大神的vue-json-viewer
設置
在後端api請求的時候,一般都會在請求頭中帶一些token的驗證,來進行用戶標識,所以在設置中,進行了自定義請求頭的設置,可以方便的設置相關的請求頭,在任何一個請求都會自動帶上設置的請求信息。
swagger 信息展示
來源於後端swagger配置的相關信息在此處進行展示