歡迎您光臨本站 註冊首頁

Knife4j 2.0.2 正式發布,Swagger 介面文檔賦能工具

←手機掃碼閱讀     admin @ 2020-03-09 , reply:0

Knife4j前身是swagger-bootstrap-ui,是一個為Swagger介面文檔賦能的工具

文檔https://doc.xiaominfo.com

效果(舊版)http://swagger-bootstrap-ui.xiaominfo.com/doc.html

效果(2.X版)http://knife4j.xiaominfo.com/doc.html

Giteehttps://gitee.com/xiaoym/knife4j

GitHubhttps://github.com/xiaoymin/swagger-bootstrap-ui

示例https://gitee.com/xiaoym/swagger-bootstrap-ui-demo

特性 & 優化

knife4j

1、新增knife4j-dependencies模塊,管理knife4j的相關Maven引用,可以以Maven的BOM方式引入Knife4j

2、官網文檔同步更新.

3、解決swagger-annotations導致的版本衝突gitee #I17G31GitHub #191

knife4j-spring-ui

1、修復切換tab之後 再次發送請求不帶參數且不顯示響應數據的問題,調試異常等問題PR 13 @giteegitee #I17FFXGitHub #196GitHub #187

2、優化調試框全部選中的問題,在取消全選時,只有在輸入參數改變時才會選中該參數,取消原來默認選中全部參數gitee #I19V6D

3、針對Form表單類型的請求構造curl命令行時在未輸入值的情況下為null的情況,修改為空字元串gitee #I18IBZ

4、優化全局參數設置功能,針對參數數據太長不換行問題,以及參數需要修改時需要重新刪除的交互體驗,開發者在新增參數后可以方便的更改參數數據值以及參數的類型gitee #I17OV1gitee #I19GJKgitee #I1A9V1gitee #I18HMJGitHub #176

5、請求參數在未給定example默認值的情況下,文本輸入框的placeHolder屬性顯示該欄位的文字說明gitee #I17RKI

6、修復增強屬性忽略參數不生效的問題gitee #PR-16gitee #I136KUgitee #I187VNgitee #I16A71

7、調試參數框增加對後端枚舉的支持,改輸入框為下拉選擇框gitee #I18MHO

8、service-worker.js報404問題,構建打包時添加此文件gitee #I17D0YGitHub #185

9、get請求參數出現特殊字元未編碼處理導致出現400錯誤gitee #I19C8Y

10、後端新增介面或者介面編輯后,在ui界面顯示更新標誌,在菜單上會出現一個藍色的徽標gitee #I1AQFW,如下圖:

11、後端增強註解@ApiOperationSupport(author = "xiaoymin@foxmail.com")支持每個介面提供開發者的呈現,最終如下圖:

12、調試發送按鈕增加loading效果,針對介面響應較長的情況下提升交互效果

13、針對Authorize菜單欄的參數,保存參數是全局保存,其它邏輯分組的介面再調試時,不需要再保存一次新值gitee #I16Z10

14、修復部分情況響應欄位在ace-editor編輯器右邊欄不顯示欄位說明的情況gitee #I17F5Y

15、搜索框完善對介面請求Api地址欄的模糊搜索匹配gitee #I19EN0gitee #I1B0Q9

16、調試響應數據行太長,無法換行的問題gitee #I17F1J

17、在當前介面無參數的情況下,界面添加全局參數無效果的bug

如果你後端是Java+Spring的技術棧,在使用springfox的同時,想換一個Swagger的Ui皮膚,通過在pom.xml中直接引入即可,如下:


<dependency>
  <groupId>com.github.xiaoymin</groupId>
  <artifactId>knife4j-spring-ui</artifactId>
  <version>2.0.2</version>
</dependency>

Knife4j-Spring

使用Spring Boot的技術棧可以通過引用starter的方式快速引入使用,注意該starter組件是包含Ui的,如下:


<dependency>
  <groupId>com.github.xiaoymin</groupId>
  <artifactId>knife4j-spring-boot-starter</artifactId>
  <version>2.0.2</version>
</dependency>

如果是微服務的情況下,微服務其實不需要引用Ui的jar包,只需要在網關引用Ui的jar包依賴,所以在微服務情況下,使用增強屬性只需要引用微服務版本的starter依賴,如下:


<dependency>
    <groupId>com.github.xiaoymin</groupId>
    <artifactId>knife4j-micro-spring-boot-starter</artifactId>
    <version>2.0.2</version>
</dependency>

特點

  • 基於Vue+Ant Design構建的文檔,更強大、清晰的介面文檔說明能力以及介面調試能力

  • 左右布局,基於Tabs組件的多文檔查閱風格

  • 支持在線導出Html、Markdown、Word、PDF等多種格式的離線文檔

  • 介面排序,支持分組及介面的排序功能

  • 支持介面全局在線搜索功能

  • 提供Swagger資源保護策略,保護文檔安全

  • 介面調試支持無限參數,開發者調試非常靈活,動態增加、刪除參數

  • 全局緩存調試信息,頁面刷新后依然存在,方便開發者調試

  • 以更人性化的table樹組件展示Swagger Models功能

  • 文檔以多tab方式可顯示多個介面文檔

  • 請求參數欄請求類型、是否必填著顏色區分

  • 主頁中粗略統計介面不同類型數量

  • 支持自定義全局參數功能,主頁包括header及query兩種類型

  • JSR-303 annotations 註解的支持

  • 更多個性化設置功能

界面

介面文檔顯示界面如下:

介面調試界面如下:

Swagger Models功能

支持導出離線Markdown、Html功能,markdown的表格較原先版本通過縮減顯示為樹形結構,點擊預覽導出離線Html效果,效果圖如下:

通過第三方Markdown軟體導出的PDF效果如下圖:

同時提供了導出離線Html功能,Html功能界面風格和在線幾乎沒有區別,美觀、大方、簡潔,點擊在線預覽效果

界面效果如下圖:

Star & Issue

感謝各位朋友的支持,前往https://gitee.com/xiaoym/knife4j點個Star吧~~ :)


[admin ]

來源:OsChina
連結:https://www.oschina.net/news/113926/knife4j-2-0-2-released
Knife4j 2.0.2 正式發布,Swagger 介面文檔賦能工具已經有171次圍觀

http://coctec.com/news/soft/show-post-227124.html