Swagger加強神器:Knife4j!5大加強功能預覽

Swagger 是開發中最經常使用的框架之一了,但 Swagger 自己又有不少不完善的地方,好比,在衆多的接口中查詢某一個接口,又或者是把全部的接口導出成 Word 格式等,都沒法在 Swagger 中實現。html

有人可能會問:爲何要把接口導成 Word 格式?這種場景還挺常見的,好比須要將接口對外部公司開放時,又或者是開發環境的網絡不能對外部開放(如專線,不少醫院都拉的是專線),而生產環境的 Swagger 又是關閉狀態的時候,這時候只能依賴離線文檔來實現接口的調用了,而離線文檔最經常使用的格式即是 Word 了。

那麼爲了解決 Swagger 的這些問題,咱們須要使用一個 Swagger 的加強工具來實現,而這個擴展工具就是咱們今天要重點介紹的 Knife4j,那 Knife4j 長得是什麼樣呢?咱們一塊兒來看,以下圖所示:
image.pnggit

從這個主頁能夠看出,Knife4j 會將 Swagger 中設置的摘要信息(Docket)顯示在歡迎頁,Docket 的設置能夠看我以前的文章,而且 Knife4j 還很貼心的提供了一個統計全部接口的功能,在歡迎頁的最下方咱們能夠很清楚的看到當前 POST 接口的數量,以及 GET 的接口的數量。github

PS:Knife4j 支持中文和英文兩種語言展現,對於國內的小夥伴來講,可讀性很是的高(由於都是中文的嘛)。

Knife4j 功能介紹

1.搜索功能

我以爲 Knife4j 最實用的一個功能就是「接口搜索」了,經過這個功能咱們能夠很是方便的找到咱們須要的接口,以下圖所示:
image.pngspring

2.離線文檔下載

Knife4j 提供了 4 種格式的離線文檔下載:Markdown、Html、Word、OpenAPI 等方式,以下圖所示:
image.png網絡

3.接口過濾

能夠經過 Knife4j 過濾某一類型的接口,好比過濾 GET 或者 POST 接口,以下圖所示:
image.png框架

4.全局參數設置

若是有公共的請求參數,咱們能夠經過 Knife4j 輕鬆搞定,以下圖所示:
image.pngspring-boot

5.更友好的接口調試

使用 Knife4j 能夠更友好的實現接口調試,由於在使用 Knife4j 時,它會將必傳的參數以紅色邊框的方式顯示,這樣咱們就直觀的區分開必填參數和非必填參數了,以下圖所示:
image.png工具

Knife4j 使用配置

從上面的內容能夠看出 knife4j 的功能是很強大的,但令我更驚喜的是它的配置異常的簡單,咱們只需在已經成功配置了 Swagger 的項目中(Swagger 配置可參考個人上一篇文章),添加 Knife4j 的依賴便可,配置信息以下:測試

<!-- https://mvnrepository.com/artifact/com.github.xiaoymin/knife4j-spring-boot-starter -->
<dependency>
    <groupId>com.github.xiaoymin</groupId>
    <artifactId>knife4j-spring-boot-starter</artifactId>
    <version>3.0.2</version>
</dependency>

通過以上簡單的依賴添加以後,無需配置任何內容,咱們就能夠成功的使用 Knife4j 了。spa

訪問 Knife4j

咱們能夠經過 http://localhost:8080/doc.html 訪問 Knife4j 的主頁,以下圖所示:
image.png

總結

Swagger 做爲很是歡迎的框架同時也存在着一些功能「缺陷」,那麼爲了彌補 Swagger 的不足,咱們引入了 Knife4j 框架,使用 Knife4j 咱們能夠很方便的實現:接口搜索、離線文檔下載、全局參數設置、接口過濾和更加友好的接口測試等功能。然而和它的功能一樣使人驚訝的是它的配置,在使用 Knife4j 時,咱們只須要在項目中添加它的引用,以後無需任何多餘的操做就能夠直接使用 Knife4j 了,簡直完美,因此你不來試一試嗎?

關注公號:「Java中文社羣」查看視頻版介紹及更多Swagger內容~
相關文章
相關標籤/搜索