Knife4j 2.0.2 正式發布,Swagger 接口文檔賦能工具

2020-12-22 開源中國

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

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

GitHub:https://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 #I17G31、GitHub #191

knife4j-spring-ui

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

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

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

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

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

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

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

8、service-worker.js報404問題,構建打包時添加此文件gitee #I17D0Y、GitHub #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 #I19EN0、gitee #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吧~~ :)

相關焦點

  • mica 2.1.0-GA 發布,mica-http 組件添加流上傳
    三、更新說明(累積更新)v2.1.0-GA - 2020-12-13 ✨ mica-bom 添加 mica-weixin。 ✨ mica-redis 添加 redis key 失效事件配置。 ✨ mica-swagger 添加 SwaggerCustomizer,用於自定義配置。 ✨ mica-swagger 添加 oauth2 認證配置。 ✨ mica-http 添加流上傳,完善文檔。 ✨ mica-core 添加 GeoUtil。
  • swagger-bootstrap-ui 1.8.3 發布,Swagger前端 UI 實現
    swagger-bootstrap-ui 1.8.3 發布了。
  • zyplayer-doc 1.0.7 發布,簡單好用的 WIKI 文檔工具、資料庫管理...
    zyplayer-doc是一款定位為公司內部和個人使用的在線工具,現有資料庫文檔、WIKI文檔、swagger 文檔、dubbo文檔、ElasticSearch文檔等,管理端具有人員管理、權限管理功能等功能
  • swagger-bootstrap-ui 1.9.4 發布,擴展支持動態欄位注釋
    swagger-bootstrap-ui 1.9.4 發布了。
  • JeecgBoot 2.4 微服務正式版發布,基於 SpringBoot 的低代碼平臺
    單體切換為微服務文檔 2.4+ http://doc.jeecg.com/2043906微服務升級 升級SpringCloud到Hoxton.SR8版本 升級SpringCloudAlibaba到2.2.3.RELEASE版本。 提供更簡單的微服務和單體切換機制,1秒切換。
  • smart-doc 1.8.5 發布,Java 零註解文檔生成工具
    smart-doc是一個java restful api文檔生成工具, smart-doc完全基於接口源碼分析來生成接口文檔,完全做到零註解侵入
  • zuihou-admin-cloud 1.4 發布, 接入 zipkin-server 2.19.2
    升級 zipkin-server 到 2.19.2 ,並修改項目配置,使得兼容新版本,並完善使用文檔2. 代碼生成器 增加 創建新服務 的功能3. 代碼生成器 支持實體中id欄位名稱任意命名,且不強制繼承父類實體 4. MetaObjectHandler 支持任意名稱的Id欄位自動注入, 並優化其代碼可讀性5.
  • 啥,聽說你用了springboot,但是開發的接口還在裸奔?
    API響應序列化預處理器響應預處理器機制可以在接口返回內容給調用者之前進行額外的處理,此時可以更靈活的修飾返回內容,可以突破無法修改參數類型的限制,適用於對整個響應結構定製化處理的場景。目前內置的響應預處理器有:當然,也支持業務靈活拓展。方法查詢緩存攔截器提供對查詢類方法調用的結果進行緩存。API異常統一處理器接口調用過程中任何步驟出現異常,均能自動處理,並反饋信息給調用者。
  • 如何在 ASP.Net Core 中使用 Swagger - 51CTO.COM
    大家在開發完 webapi 後,經常為了方便接口雙方對接,需要將 webapi 接口文檔化,那有沒有什麼快捷可交互的文檔呢?可以利用快捷工具 Swagger,它的可視化 UI 可輕鬆助你 API 文檔化的同時還方便測試 API。
  • magic-api 0.5.4 發布,接口快速開發框架
    本次更新內容: 新增代碼懸浮提示 修復編輯器的代碼提示不完整的問題 修復swagger 優化部分組件樣式 示例網站新增一些Demo項目介紹magic-api 是一個基於Java的接口快速開發框架,編寫接口將通過magic-api提供的UI界面完成,自動映射為HTTP接口,無需定義Controller、Service、Dao、Mapper
  • Swagger3.0官方starter誕生,可以扔掉那些野生starter了
    io.springfoxgroupId>springfox-boot-starterartifactId>3.0.0version>dependency>  在瀏覽器中訪問:  http://localhost:8080/swagger-ui/  即可擁有了文檔功能(是的
  • 使用apipost工具快速生成在線接口文檔
    ApiPost是一個支持團隊協作,並可直接生成文檔的API調試、管理工具。它支持模擬POST、GET、PUT等常見請求,是後臺接口開發者或前端、接口測試人員不可多得的工具 。使用者不僅可以利用apiopst調試接口,還可以書寫相關注釋(接口文檔),方便的生成可讀性好、界面美觀的在線接口文檔。
  • zuihou-admin-cloud 2.3 發布,完美支持分布式事務 - OSCHINA...
    .RELEASE spring-cloud-alibaba -> 2.2.1.RELEASE seata.version -> 1.2.0 fastjson.version -> 1.2.68 j2cache.version -> 2.8.2-release jjwt.version -
  • ...Editor(API開發工具)下載_Swagger Editor(API開發工具)官方...
    Swagger Editor(API開發工具) 編程工具 大小: 10.3M 版本: 2.0.1 官方版
  • zuihou-admin-cloud 2.1 發布,租戶模式支持動態新增數據源 - OS...
    新增認證服務(zuihou-oauth-server:負責登錄、獲取用戶所有權限、資源、菜單等功能)2. 參照SpringSecurity原理,調整 認證服務登錄、刷新token等 接口相關邏輯3. 參照SpringSecurity原理,新增 zuihou-security-starter 模塊,實現 URI權限配置 和 鑑權4.
  • zuihou-admin-cloud 1.6 發布,支持自動生成前端頁面
    唯一Id生成器換成 hutool 的 IdUtil2. 關聯欄位數據注入工具(zuihou-injection-starter) 增加guava本地緩存,加快注入速度, 完善注釋。3. 使用MP提供的自定義枚舉類型轉換器,修復 資料庫中枚舉欄位的值不存在時,報錯的bug4. 使用hutool工具類優化操作日誌記錄的異常消息5.
  • Jeecg Boot 2.3 裡程碑版本發布,基於 SpringBoot 的低代碼平臺
    既能快速提高開發效率,幫助公司節省成本,同時又不失靈活性。 4、Token安全漏洞嚴重問題解決平臺優化升級 JAVA後端結構改造支持微服務,增加SpringCloud Alibaba支持,支持微服務和單體自由切換 swagger接口返回結果支持泛型 JVXETable新列行編輯表格組件,並提供多套JVXETable
  • 百度詞法分析工具 LAC 全面升級,2.0 版在線極速體驗
    最近百度NLP發布了LAC 2.0:開源!我知道你不知道,百度開源詞法LAC 2.0幫你更懂中文,看完文章的第一感受就是易用性大大加強了,之前需要通過PaddleNLP或者PaddleHub調用lac,現在 "pip install lac" 後即可直接調用,相當方便。
  • 接口工具Apifox
    最近發現一款接口測試工具--apifox,我我們很難將它描述為一款接口管理工具 或 接口自測試工具。官方給了一個簡單的公式,更能說明apifox可以做什麼。Apifox = Postman + Swagger + Mock + JMeterApifox的特點:接口文檔定義: Apifox 遵循 OpenApi 3.0 (原 Swagger)、JSON Schema 規範的同時,提供了非常好用的可視化文檔管理功能
  • zuihou-admin-cloud 1.9 發布,SaaS 微服務腳手架
    調整 代碼生成器初始化工程的結構和pom依賴, 生成後端代碼使用最新的 Super* 父類接口, 並且生成的後端代碼支持導入、導出功能優化:1. 優化 操作日誌,使得能夠記錄 SuperController 類的日誌,並支持子類 重寫操作日誌描述2.