干掉 Swagger-ui !試試這個(gè)新工具
300本計(jì)算機(jī)編程的經(jīng)典書籍下載
AI全套:Python3+TensorFlow打造人臉識(shí)別智能小程序
最新人工智能資料-Google工程師親授 Tensorflow-入門到進(jìn)階
黑馬頭條項(xiàng)目 - Java Springboot2.0(視頻、資料、代碼和講義)14天完整版
介紹
knife4j是為Java MVC框架集成Swagger生成Api文檔的增強(qiáng)解決方案(在非Java項(xiàng)目中也提供了前端UI的增強(qiáng)解決方案),前身是swagger-bootstrap-ui,取名knife4j是希望她能像一把匕首一樣小巧,輕量,并且功能強(qiáng)悍!
開源倉(cāng)庫(kù)
Github
https://github.com/xiaoymin/swagger-bootstrap-ui
碼云
https://gitee.com/xiaoym/knife4j
功能特性
簡(jiǎn)潔 基于左右菜單式的布局方式,是更符合國(guó)人的操作習(xí)慣吧.文檔更清晰... 個(gè)性化配置 個(gè)性化配置項(xiàng),支持接口地址、接口description屬性、UI增強(qiáng)等個(gè)性化配置功能... 增強(qiáng) 接口排序、Swagger資源保護(hù)、導(dǎo)出Markdown、參數(shù)緩存眾多強(qiáng)大功能...
功能預(yù)覽
在線預(yù)覽
http://knife4j.xiaominfo.com/doc.html
選擇不同接口
Authorize
swagger實(shí)體
包含了swagger實(shí)體的相關(guān)信息
swagger全局設(shè)置
全局參數(shù)設(shè)置
離線文檔導(dǎo)出
Knife4j提供導(dǎo)出4種格式的離線文檔(Html\Markdown\Word\Pdf)
個(gè)性化設(shè)置
api文檔
搜索功能
使用簡(jiǎn)介
項(xiàng)目結(jié)構(gòu)
目前主要的模塊
目前主要的模塊包括:
knife4j #為Java MVC框架集成Swagger的增強(qiáng)解決方案knife4j-admin #云端Swagger接口文檔注冊(cè)管理中心,集成gateway網(wǎng)關(guān)對(duì)任意微服務(wù)文檔進(jìn)行組合集成knife4j-extension #chrome瀏覽器的增強(qiáng)swagger接口文檔ui,快速渲染swagger資源knife4j-service #為swagger服務(wù)的一系列接口服務(wù)程序knife4j-front #knife4j-spring-ui的純前端靜態(tài)版本,用于集成非Java語(yǔ)言使用swagger-bootstrap-ui #knife4j的前身,最后發(fā)布版本是1.9.6
單純皮膚增強(qiáng)
不使用增強(qiáng)功能,純粹換一個(gè)swagger的前端皮膚,這種情況是最簡(jiǎn)單的,你項(xiàng)目結(jié)構(gòu)下無(wú)需變更
老版本引用
<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項(xiàng)目單體架構(gòu)使用增強(qiáng)功能
在Spring Boot單體架構(gòu)下,knife4j提供了starter供開發(fā)者快速使用
<dependency><groupId>com.github.xiaoymin</groupId><artifactId>knife4j-spring-boot-starter</artifactId><version>${knife4j.version}</version></dependency>
該包會(huì)引用所有的knife4j提供的資源,包括前端Ui的jar包
Spring Cloud微服務(wù)架構(gòu)
在Spring Cloud的微服務(wù)架構(gòu)下,每個(gè)微服務(wù)其實(shí)并不需要引入前端的Ui資源,因此在每個(gè)微服務(wù)的Spring Boot項(xiàng)目下,引入knife4j提供的微服務(wù)starter
<dependency><groupId>com.github.xiaoymin</groupId><artifactId>knife4j-micro-spring-boot-starter</artifactId><version>${knife4j.version}</version></dependency>
在網(wǎng)關(guān)聚合文檔服務(wù)下,可以再把前端的ui資源引入
<dependency><groupId>com.github.xiaoymin</groupId><artifactId>knife4j-spring-boot-starter</artifactId><version>${knife4j.version}</version></dependency>
總結(jié)
針對(duì)knife4j的總結(jié),無(wú)非就是牛逼來(lái)形容,切實(shí)的解決了swagger ui不夠友好的問題,而且還可以集成到其他語(yǔ)言的api項(xiàng)目中,真真切切的需要感謝開發(fā)作者提供了這么好的工具供我們使用,小伙伴是不是心動(dòng)了,趕緊去試試吧!enjoy it!
看完本文有收獲?請(qǐng)轉(zhuǎn)發(fā)分享給更多人
往期資源:
2019最新Python視頻:從入門到Swiper項(xiàng)目實(shí)戰(zhàn)
2019重磅高級(jí)資源:Java并發(fā)編程原理和實(shí)戰(zhàn)
最新黑馬大數(shù)據(jù)資源:深入解析docker容器化技術(shù)
最新Java后端實(shí)戰(zhàn)視頻:SSM框架在線商城系統(tǒng)
2019最新黑客技術(shù)之Windows網(wǎng)絡(luò)安全精講
