給你的Swagger文檔換套附魔皮膚吧


前言

相信無論是前端或是后端的程序員對Swagger都不怎么陌生,沒有用過應該也聽說過

Swagger 是一個規范和完整的框架,用於生成、描述、調用和可視化 RESTful 風格的 Web 服務。

在這里插入圖片描述

簡單的配置后,就能生成一份清晰的API文檔。

在這里插入圖片描述

但是不知道大家有沒有發現Swagger原生的ui似乎並不支持對請求頭的操作,在我之前整合JWT時遇到過這樣的問題,當時的解決辦法是設置全局參數。但對我來說還是花費了一些時間去學習,但是這樣的方法只能適用於特定的請求頭,耦合度很高,如果需要別的參數,還要再修改代碼。

下面就介紹三種Swagger的增強ui

一、swagger-mg-ui

簡介

開源地址Gitee

swagger-mg-ui是swagger的一個前端實現,使用簡單、解析速度快、走心的設計,支持多項目同時展示,多種文檔目錄的展示方案,多種自定義配置,滿足各種使用習慣。

使用

非常簡單,只需要添加如下maven依賴即可

<!-- https://mvnrepository.com/artifact/com.zyplayer/swagger-mg-ui -->
<dependency>
    <groupId>com.zyplayer</groupId>
    <artifactId>swagger-mg-ui</artifactId>
    <version>1.0.6</version>
</dependency>

啟動后訪問:http://localhost:8080/document.html查看

在這里插入圖片描述

功能

ui支持多種樹形菜單展示方式,但我感覺有點不好的是,所有請求的顏色都是一樣的,不像原生ui那樣清晰明了。

swagger-mg-ui支持對請求頭的設置,並且對請求做了持久化,會記錄你測試過的請求,不過有點不好的是它是將數據存在了LocalStorage里,就是說如果測試的多了,會占一些空間。

在這里插入圖片描述

在這里插入圖片描述

二、swagger-ui-layer

簡介

開源地址: Gitee

swagger-ui-layer 是一個基於swagger的前端UI實現,是為了替換了默認的swagger-ui,讓生成的文檔更加友好和美觀。

swagger-ui-layer看名字也能知道這個ui和layui有點關系了,swagger-ui-layer確實是layui風格,但是很不幸的是此項目已經停止維護,不兼容最新的SpringBoot和Swagger。暫時放棄(就是個湊數的)

官網演示的截圖

在這里插入圖片描述

三、knife4j

簡介

開源地址: Gitee

官網地址knife4j

knife4j是為Java MVC框架集成Swagger生成Api文檔的增強解決方案,前身是swagger-bootstrap-ui,取名kni4j是希望她能像一把匕首一樣小巧,輕量,並且功能強悍!

knife4j的前身是swagger-bootstrap-ui,為了契合微服務的架構發展,由於原來swagger-bootstrap-ui采用的是后端Java代碼+前端Ui混合打包的方式,在微服務架構下顯的很臃腫,因此項目正式更名為knife4j

這應該是最好的一個Swagger增強項目了,目前仍在維護,並且是碼雲的GVP項目。另外值得一提的是此項目支持再SpringCloud微服務架構下使用,不需要在每個微服務下引入ui資源。功能之全恐怕我介紹不完,需要大家自己摸索。

使用

非常簡單,同樣是一個以來的事情

<dependency>
    <groupId>com.github.xiaoymin</groupId>
    <artifactId>knife4j-spring-ui</artifactId>
    <version>${lastVersion}</version>
</dependency>

然后啟動項目訪問:http://localhost:8080/doc.html查看

在這里插入圖片描述

功能

這個ui的功能就像是整合進項目的PostMan,還貼心的做了一個標簽頁,支持設置請求頭請求參數,支持導出文檔離線閱讀。

knife4j1

還有一個非常好用的功能是支持全局參數的設置,還記得我之前所說的JWT調試的事情嗎,這個項目似乎就是為了調試JWT所生一般,只需添加全局請求頭便能測試所有接口,非常的方便

在這里插入圖片描述
用過都說好


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM