歡迎您光臨本站 註冊首頁

Knife4j 2.0 發布,涅槃重生~!

←手機掃碼閱讀     admin @ 2019-12-16 , reply:0

Knife4j前身是swagger-bootstrap-ui,取名knife4j是希望她能像一把匕首一樣小巧,輕量,並且功能強悍,更名也是希望把她做成一個為Swagger介面文檔服務的通用性解決方案,不僅僅只是專註於前端Ui前端.雖然目前還只是在前端,但以後功能肯定不止於此.

2.0版本主要是使用Vue+Ant Design Vue對前端Ui進行重寫,該版本是真正的前後端分離版本,同時依賴於Vue的技術生態,以後會有更多有趣的功能實現,全方位滿足開發者的需要.

文檔:http://doc.xiaominfo.com

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

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

Gitee:https://gitee.com/xiaoym/knife4j

GitHub:https://github.com/xiaoymin/swagger-bootstrap-ui

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

特性 & 優化

knife4j-spring-ui

1、使用Vue+Ant Design Vue對Ui進行重寫,統一整體界面風格,更清晰的文檔說明能力以及介面調試能力

2、支持在界面中導出離線Markdown、離線Html格式的文檔,Markdown、Html風格較之前都做了極致的優化,Markdown格式主要是針對樹形Model的展示通過縮進的方式在md格式的table中顯示更加直觀,Html離線文檔和在線版風格幾乎沒有區別,簡潔、直觀.點擊預覽導出離線Html效果

3、單介面文檔頁的複製文檔也是通過複製Markdown格式的問題,同上主要優化md格式的table顯示問題,以縮進的方式顯示樹形表格

4、對調試欄進行優化、區分請求頭和請求體參數,使用tab標籤頁組件可以對請求參數進行動態的添加、維護、如果你使用對文檔進行緩存,文檔頁的動態調試參數會持久化處理.

5、文檔的個性化配置(增強功能)有刪減,目前只保留4項功能,即(請求參數緩存、過濾重複同類型介面、本地緩存打開tab介面、文檔增強)

6、Tab標籤頁打開介面、右鍵可以根據選擇關閉不同的Tab標籤頁

7、調試框請求頭、請求體均支持動態參數,開發者可以自行添加動態參數進行調試,更加靈活方便

8、提供增強直接訪問地址,http://ip:port/doc.html#/plus,後端在保證開啟增強註解的情況下可直接使用該地址,不需要在前端個性化配置中再進行配置,方便團隊直接進行溝通

9、響應下載類型增加至141種,幾乎涵蓋目前常見的文件類型

10、修復響應體中會出現屬性多餘雙引號的buggitee # I125B2github #156

11、修復請求參數數據類型的format不顯示的問題,針對Long類型區分int64、int32- github #161

12、解決多個Schema響應狀態碼的情況下SwaggerModels欄位不顯示的問題github #170

13、調試請求默認追加一個Ui的請求頭Request-Origion,值為Knife4j,原來該值是SwaggerBootsrapUi,在2.0版本中進行了變更.

14、解決Models屬性嵌套過多時,頁面白板,效率問題github #106

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


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

Knife4j-Spring

1、移除增強註解@EnableSwaggerBootstrapUi,以後的增強開啟註解請使用@EnableKnife4j

2、knife4j-spring-boot-starter組件移除默認springfox的ui-jar包springfox-swagger-ui,只保留knife4j-spring-ui,開發者如果要使用springfox的ui包需要自行在項目中引入

3、合併PR12-修復IDEA debug無法顯示動態Response的問題,修復動態類載入不到的問題

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


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

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


 <dependency>
     <groupId>com.github.xiaoymin</groupId>
     <artifactId>knife4j-micro-spring-boot-starter</artifactId>
     <version>2.0.0</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的表格較原先版本通過縮減顯示為樹形結構,效果圖如下:

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

同時提供了導出離線Html功能,Html功能界面風格和在線幾乎沒有區別,美觀、大方、簡潔,如下圖:

Star & Issue

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

最後

這次版本是基於Vue重寫,對於某些問題有極大的可能難免考慮不周,大家在使用的過程中如果有問題也歡迎及時通過issues和我溝通,會儘快修正,謝謝大家~!!


[admin ]

來源:OsChina
連結:https://www.oschina.net/news/112095/knife4j-2-0-released
Knife4j 2.0 發布,涅槃重生~!已經有500次圍觀

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