介紹
knife4j是爲Java MVC框架集成Swagger生成Api文檔的增強解決方案(在非Java項目中也提供了前端UI的增強解決方案),前身是swagger-bootstrap-ui,取名knife4j是希望她能像一把匕首一樣小巧,輕量,並且功能強悍!
- Authorize
- swagger全局設置
全局參數設置
- 離線文檔導出
Knife4j提供導出4種格式的離線文檔(Html\Markdown\Word\Pdf)
- api文檔
- 搜索功能
- 目前主要的模塊
目前主要的模塊包括:
模塊名稱 說明: knife4j 爲Java MVC框架集成Swagger的增強解決方案 knife4j-admin 雲端Swagger接口文檔注冊管理中心,集成gateway網關對任意微服務文檔進行組合集成 knife4j-extension chrome浏覽器的增強swagger接口文檔ui,快速渲染swagger資源 knife4j-service 爲swagger服務的一系列接口服務程序 knife4j-front knife4j-spring-ui的純前端靜態版本,用于集成非Java語言使用 swagger-bootstrap-ui knife4j的前身,最後發布版本是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!
PS:如果對您有幫助,記得點個幫助關注喲,主頁菜單提供了筆者常用的軟件(windows、mac、安卓)下載網站,感興趣的也可以看看,由于挂載在Github上,訪問慢的小夥伴可以耐心等待一下!