「开源资讯」Knife4j 2.0.5 版本发布,性能优化
knife4j是为JavaMVC框架集成Swagger生成Api文档的增强解决方案,前身是swagger-bootstrap-ui,取名kni4j是希望她能像一把匕首一样小巧,轻量,并且功能强悍!
knife4j的前身是swagger-bootstrap-ui , 为了契合微服务的架构发展,由于原来swagger-bootstrap-ui采用的是后端Java代码+前端Ui混合打包的方式,在微服务架构下显的很臃肿,因此项目正式更名为knife4j
1、Ui整体性能优化,主要从以下几个方面展开Gitee#I1TYNK、Gitee#I1LWNM、Gitee#I1J52C、GitHub#243
获取接口初始化Swagger文档时,只初始化菜单、以及基础信息字段接口path节点以及Model-definition节点作为异步解析 , 除了导出功能外只有展示的文档涉及到的信息才会进行解析 , 缩减没必要的内存开销和空间性能等待SwaggerModels功能中的所有Model通过异步加载,减少内存开销.2、通过@EnableKnife4j注解注入的实体Bean包含部分Filter,Filter涉及到应用入侵,优化为只有在开发者启用了Knife4j提供的配置值时,该实体Bean才生效
3、解决通过/plus路径来开启增强模式时失效的问题Gitee#I1OJCK
4、接口描述信息支持Markdown语法渲染
5、解决调试发送后,状态栏curl出现参数为null的问题Gitee#I1QC7Z、Gtiee#I1QXJ1
6、移除fastjson等不必要的依赖GiteeI1OIY9
7、在左侧菜单接口中新增接口类型,并且在分组中显示当前分组下包含的接口数量Gitee#I1PE0H , 如下图:

文章图片
8、优化在当前分组名称/Controller名称/接口分词中带字符/导致页面空白的问题,如果包含使用字符-进行替换Gitee#I1SMAY
9、Vue以及ant-design-vue版本升级到当前最新版
10、导出的离线Html文档优化属性,去除无效的属性引用导致Html文档文件太大(降低5倍以上).
11、增加导出Word文档的实现
12、返回大数据量造成页面卡死的问题优化Gitee#I1QIJK
13、优化默认的标题显示,开发者未设置分组服务标题时文档标题默认显示Knife4j接口文档Gitee#I1P4OQ
14、枚举类型针对Array数组类型支持多选Gitee#I1NOTE、GitHub#267

文章图片
15、针对POST、PUT、PATCH等请求方式,以x-www-form-urlencoded请求头发送请求时,请求参数在url追加的问题,以避免请求时400错误的发生.
16、在i18n环境下离线文档导出时没有完全国际化的优化操作Gitee#I1MKP7
17、针对@RequestBody的请求下载接口响应乱码的问题修复GiteeI1U4LA
18、调试返回状态栏数据大小的显示优化B.KB、MBGitHub#264
19、支持UiConfiguration中方法调试的配置,如并未配置任何支持的方法,在ui界面中不会出现调试栏TabGitHub#241 , 代码如下:
@BeanpublicUiConfigurationuiConfiguration(){returnUiConfigurationBuilder.builder().supportedSubmitMethods(newString[]{}).build();}界面中的显示效果如下(仅显示文档):

文章图片
20、接口文档中针对请求参数存在示例值的情况下,在接口的参数说明中予以显示GitHub#109
21、去除doc.html对favicon.ico的请求,以避免开发者在网关微服务的架构中集成时出现404.
基于Vue+AntDesign构建的文档 , 更强大、清晰的接口文档说明能力以及接口调试能力左右布局,基于Tabs组件的多文档查阅风格支持在线导出Html、Markdown、Word、PDF等多种格式的离线文档接口排序,支持分组及接口的排序功能支持接口全局在线搜索功能提供Swagger资源保护策略,保护文档安全接口调试支持无限参数,开发者调试非常灵活 , 动态增加、删除参数全局缓存调试信息,页面刷新后依然存在,方便开发者调试以更人性化的table树组件展示SwaggerModels功能文档以多tab方式可显示多个接口文档请求参数栏请求类型、是否必填着颜色区分主页中粗略统计接口不同类型数量支持自定义全局参数功能 , 主页包括header及query两种类型JSR-303annotations注解的支持更多个性化设置功能接口文档显示界面如下:

文章图片
接口调试界面如下:

文章图片
SwaggerModels功能

文章图片

文章图片
支持导出离线Markdown、Html功能 , markdown的表格较原先版本通过缩减显示为树形结构,点击预览导出离线Html效果 , 效果图如下:

文章图片
通过第三方Markdown软件导出的PDF效果如下图:

文章图片
同时提供了导出离线Html功能,Html功能界面风格和在线几乎没有区别,美观、大方、简洁,点击在线预览效果 ,
【「开源资讯」Knife4j 2.0.5 版本发布,性能优化】界面效果如下图:

文章图片
推荐阅读
- 3月必吃的6种「春菜」,降压减脂又刮油,错过又要等一年
- 我不允许你还没吃过这么鲜甜脆嫩的「 油焖春笋 」一口吃掉整个
- 我不允许你还没吃过这么鲜甜脆嫩的「 油焖春笋 」
- 「浮世绘」可口的“油炒饭”
- 好吃不贵的冰淇淋有哪些?
- 一上桌就被抢光的「话梅排骨」,酸甜可口,好吃到吮手指
- 细胞|干细胞一周资讯:干细胞治疗改善新冠重症患者肺损伤
- 「经典肉松面包」的做法+配方,肉松面包营养丰富,味道也很赞
- 我真的太太太爱这碗「面」啦酸鲜开胃,劲道爽滑,多吃两碗也不怕胖
- 学会就能摆摊的「香辣藕片」,秘制秘?万能酱汁绝对要收藏
