感觉Swagger功能不够强大?knife4j这款神器了解一下....
点击上方“Java知音”,选择“置顶公众号”
技术文章第一时间送达!
1.概览
knife4j是为Java MVC框架集成Swagger生成Api文档的增强解决方案,前身是swagger-bootstrap-ui,取名kni4j是希望她能像一把匕首一样小巧、轻量、并且功能强悍!
knife4j的前身是swagger-bootstrap-ui,为了契合微服务的架构发展,由于原来swagger-bootstrap-ui采用的是后端Java代码+前端Ui混合打包的方式,在微服务架构下显的很臃肿,因此项目正式更名为knife4j。
更名后主要专注的方面
前后端Java代码以及前端Ui模块进行分离,在微服务架构下使用更加灵活
提供专注于Swagger的增强解决方案,不同于只是改善增强前端Ui部分
2.项目模块
目前主要的模块包括:
3.功能特性
简洁
基于左右菜单式的布局方式,是更符合国人的操作习惯吧,文档更清晰…
个性化配置
个性化配置项,支持接口地址、接口description属性、UI增强等个性化配置功能…
增强
接口排序、Swagger资源保护、导出Markdown、参数缓存众多强大功能…
4.业务场景
不使用增强功能,纯粹换一个swagger的前端皮肤
不使用增强功能,纯粹换一个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>
5.界面效果
在线预览
http://knife4j.xiaominfo.com/doc.html
Authorize
Swagger Models
全局参数设置
离线文档下载
其他个性化设置
关键字搜索
6.总结
非常不错的一个开源项目,Gitee上已经有近2k的star,感兴趣的朋友不妨试试!
Github
https://github.com/xiaoymin/swagger-bootstrap-ui
码云
https://gitee.com/xiaoym/knife4j
END
Java面试题专栏
【41期】盘点那些必问的数据结构算法题之链表
【42期】盘点那些必问的数据结构算法题之二叉堆
【43期】盘点那些必问的数据结构算法题之二叉树基础
【44期】盘点那些必问的数据结构算法题之二分查找算法
【45期】盘点那些必问的数据结构算法题之基础排序
【46期】盘点那些必问的数据结构算法题之快速排序
【47期】六大类二叉树面试题汇总解答
【48期】盘点Netty面试常问考点:什么是 Netty 的零拷贝?
【49期】面试官:SpringMVC的控制器是单例的吗?
【50期】基础考察:ClassNotFoundException 和 NoClassDefFoundError 有什么区别
我知道你 “在看”
感觉Swagger功能不够强大?knife4j这款神器了解一下....相关推荐
- 录音转成文字 android,安卓手机自带的录音转文字功能这么强大,堪称会议神器!你会用吗...
原标题:安卓手机自带的录音转文字功能这么强大,堪称会议神器!你会用吗 有的小伙伴在开会时经常需要录音,然后要对录音进行整理变成文字稿,每次都要花很多的时间和精力,难不成你还在傻傻的手动录入,别傻了!不 ...
- 终于放弃了单调的 Swagger 了,选择了这款神器 Knife4j
点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 来源:最美分享Coder toutiao.com/i6789135 ...
- Excel功能的强大
最近在处理数据,感觉excel功能非常强大,下面列举用到的一些功能 1.数据默认填充0,选中数据区域--查找选择--定位条件--空值--输入0--同时按ctrl+enter,空白位置默认填充0 2.数 ...
- 取代 Postman + Swagger!这款神器功能更强大,界面更炫酷!
作为一位后端开发,我们平时经常需要维护API文档.对API接口进行调试.有时候还得Mock数据.Postman虽然作为接口调试工具非常好用,但是对于维护API文档这类工作却不太合适.今天给大家推荐一款 ...
- fooview辅助功能 shell_FV浮动阅览器fooView——一款功能十分强大的浮动按钮
小编闲来无事,又在酷安里闲逛,偶然发现了一个好玩有用的APP.用完之后,毫不犹豫的保留了下来.而且,特意去把几个功能想重的APP给卸载了.如果没用过的朋友,可要听小编好好叨叨一次了.相信,这次会是纯纯 ...
- 热门图表软件推荐,哪款更功能更强大?
在如今的数据化时代,各种企业都需要有一套高效的报表制作工具.而图表是报表中最常用.也是最重要的一部分,因此选择一款优秀的图表软件显得尤为重要.本文将为大家介绍5款热门图表软件,并突出介绍VeryRep ...
- 还在用 Xshell ?试试这款炫酷的 SSH 终端工具吧,功能很强大!
由于需要连接远程 Linux 服务器,早期使用过 Putty,SecureCRT,后面主要使用 Xshell. 自从接触了 MobaXterm之后,个人感觉比 Xshell 更好用,堪称SSH客户端的 ...
- 4款让人骄傲的国产软件,功能过于强大,却被误认为是外国佬研发
国产软件往往被贴上"流氓.弹屏.套路深"等负面标签.出于偏见,一些功能强大的良心国产软件,却被误认为成外国人开发的. 下面4款实用软件为"国产"正名,扭转许多人 ...
- 颜值爆表!Redis 官方可视化工具来啦,功能真心强大!
最近逛了一下Redis官方网站,发现Redis不仅推出了很多新特性,而且还发布了一款可视化工具RedisInsight.试用了一下感觉非常不错,最关键的是能支持RedisJSON之类的新特性,这是第三 ...
最新文章
- 分页技巧_实现第一个分页功能(回复列表中的分页)
- 腾讯云,搭建Docker环境
- 转 Struct 和 Union区别 以及 对内存对齐方式的说明
- [置顶] 完美程序员的10种品质
- H3C交换机配置学习随笔
- jQuery学习之五---效果
- ax.spines——matplotlib坐标轴设置
- Python写入文件的工具类
- 突发!美国国会发函要求 Facebook 立即停止 Libra 项目
- TS中的unknown类型
- Spring中的Service/DAO/DTO
- html5 调用摄像头 支持IE,ie调用不了摄像头 为什么电脑IE浏览器无法启动摄像头...
- java shiro原理_Shiro的原理及Web搭建
- CTU Open Contest 2019 J. Beer Vision
- java连连看开题报告_JAVA连连看
- 帝国 cms 列表 php,帝国cms数据表详细中文说明
- java自行车DH32,中国国际自行车嘉年华之Enduro、DH装备篇
- CAD图层的顺序的调整
- 计算机二级python基础知识总结-江苏省计算机二级python样卷
- 细说react源码中的合成事件
热门文章
- 电动汽车又“火了” 面对频繁自燃事故 蔚来不得不这样做...
- 金融诈骗中男性更易受骗:损失数额更大
- java switch finally_JavaSE
- apk、ipa包size优化晋级手段
- python故事_python的故事
- MFC小笔记:父子窗口传递消息
- 我的docker随笔11:Dockerfile编写
- 将x86平台的Linux控制台重定向到串口
- 【kafka】Kafka中的动态配置源码分析
- 【java】ConcurrentHashMap遍历 --- 弱一致性的迭代器(Iterator)实现原理