終於放棄了單調的swagger-ui了,選擇了這款神器—knife4j


一、介紹

knife4j是為Java MVC框架集成Swagger生成Api文檔的增強解決方案(在非Java項目中也提供了前端UI的增強解決方案),前身是swagger-bootstrap-ui,取名knife4j是希望她能像一把匕首一樣小巧,輕量,並且功能強悍!

終於放棄了單調的swagger-ui了,選擇了這款神器—knife4j

 

二、開源倉庫

  • Github
https://github.com/xiaoymin/swagger-bootstrap-ui
  • 碼雲
https://gitee.com/xiaoym/knife4j

三、功能特性

  • 簡潔

基於左右菜單式的布局方式,是更符合國人的操作習慣吧.文檔更清晰...

  • 個性化配置

個性化配置項,支持接口地址、接口description屬性、UI增強等個性化配置功能...

  • 增強

接口排序、Swagger資源保護、導出Markdown、參數緩存眾多強大功能...

四、功能預覽

  • 在線預覽
http://knife4j.xiaominfo.com/doc.html
  • 選擇不同接口
終於放棄了單調的swagger-ui了,選擇了這款神器—knife4j

 

  • Authorize
終於放棄了單調的swagger-ui了,選擇了這款神器—knife4j

 

  • swagger實體

包含了swagger實體的相關信息

終於放棄了單調的swagger-ui了,選擇了這款神器—knife4j

 

  • swagger全局設置

全局參數設置

終於放棄了單調的swagger-ui了,選擇了這款神器—knife4j

 

終於放棄了單調的swagger-ui了,選擇了這款神器—knife4j

 

  • 離線文檔導出

Knife4j提供導出4種格式的離線文檔(Html\Markdown\Word\Pdf)

終於放棄了單調的swagger-ui了,選擇了這款神器—knife4j

 

  • 個性化設置
終於放棄了單調的swagger-ui了,選擇了這款神器—knife4j

 

  • api文檔
終於放棄了單調的swagger-ui了,選擇了這款神器—knife4j

 

終於放棄了單調的swagger-ui了,選擇了這款神器—knife4j

 

  • 搜索功能
終於放棄了單調的swagger-ui了,選擇了這款神器—knife4j

 

五、使用簡介

  • 項目結構

 

終於放棄了單調的swagger-ui了,選擇了這款神器—knife4j

 

  • 目前主要的模塊
目前主要的模塊包括:模塊名稱說明:knife4j為Java MVC框架集成Swagger的增強解決方案knife4j-admin雲端Swagger接口文檔注冊管理中心,集成gateway網關對任意微服務文檔進行組合集成knife4j-extensionchrome瀏覽器的增強swagger接口文檔ui,快速渲染swagger資源knife4j-service為swagger服務的一系列接口服務程序knife4j-frontknife4j-spring-ui的純前端靜態版本,用於集成非Java語言使用swagger-bootstrap-uiknife4j的前身,最后發布版本是1.9.6
  • 單純皮膚增強

不使用增強功能,純粹換一個swagger的前端皮膚,這種情況是最簡單的,你項目結構下無需變更

可以直接引用swagger-bootstrap-ui的最后一個版本1.9.6或者使用knife4j-spring-ui

老版本引用

<dependency>      <groupId>com.github.xiaoymin</groupId>      <artifactId>swagger-bootstrap-ui</artifactId>      <version>1.9.6</version></dependency>

新版本引用

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

 

  • Spring Boot項目單體架構使用增強功能

在Spring Boot單體架構下,knife4j提供了starter供開發者快速使用

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

該包會引用所有的knife4j提供的資源,包括前端Ui的jar包

  • Spring Cloud微服務架構

在Spring Cloud的微服務架構下,每個微服務其實並不需要引入前端的Ui資源,因此在每個微服務的Spring Boot項目下,引入knife4j提供的微服務starter

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

在網關聚合文檔服務下,可以再把前端的ui資源引入

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

六、總結

針對knife4j的總結,無非就是牛逼來形容,切實的解決了swagger ui不夠友好的問題,而且還可以集成到其他語言的api項目中,真真切切的需要感謝開發作者提供了這么好的工具供我們使用,小伙伴是不是心動了,趕緊去試試吧!enjoy it!


免責聲明!

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



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