Knife4j 2.0.2 正式发布,Swagger 接口文档赋能工具
Knife4j
前身是swagger-bootstrap-ui
,是一个为Swagger接口文档赋能的工具
效果(旧版):http://swagger-bootstrap-ui.xiaominfo.com/doc.html
效果(2.X版):http://knife4j.xiaominfo.com/doc.html
Gitee:https://gitee.com/xiaoym/knife4j
GitHub:https://github.com/xiaoymin/swagger-bootstrap-ui
示例:https://gitee.com/xiaoym/swagger-bootstrap-ui-demo
特性 & 优化
knife4j
1、新增knife4j-dependencies
模块,管理knife4j的相关Maven引用,可以以Maven的BOM方式引入Knife4j
2、官网文档同步更新.
3、解决swagger-annotations
导致的版本冲突gitee #I17G31、GitHub #191
knife4j-spring-ui
1、修复切换tab之后 再次发送请求不带参数且不显示响应数据的问题,调试异常等问题PR 13 @gitee、gitee #I17FFX、GitHub #196、GitHub #187
2、优化调试框全部选中的问题,在取消全选时,只有在输入参数改变时才会选中该参数,取消原来默认选中全部参数gitee #I19V6D
3、针对Form表单类型的请求构造curl命令行时在未输入值的情况下为null的情况,修改为空字符串gitee #I18IBZ
4、优化全局参数设置功能,针对参数数据太长不换行问题,以及参数需要修改时需要重新删除的交互体验,开发者在新增参数后可以方便的更改参数数据值以及参数的类型gitee #I17OV1、gitee #I19GJK、gitee #I1A9V1、gitee #I18HMJ、GitHub #176
5、请求参数在未给定example默认值的情况下,文本输入框的placeHolder属性显示该字段的文字说明gitee #I17RKI
6、修复增强属性忽略参数不生效的问题gitee #PR-16、gitee #I136KU、gitee #I187VN、gitee #I16A71
7、调试参数框增加对后端枚举的支持,改输入框为下拉选择框gitee #I18MHO
8、service-worker.js报404问题,构建打包时添加此文件gitee #I17D0Y、GitHub #185
9、get请求参数出现特殊字符未编码处理导致出现400错误gitee #I19C8Y
10、后端新增接口或者接口编辑后,在ui界面显示更新标志,在菜单上会出现一个蓝色的徽标gitee #I1AQFW,如下图:
11、后端增强注解@ApiOperationSupport(author = "xiaoymin@foxmail.com")
支持每个接口提供开发者的呈现,最终如下图:
12、调试发送按钮增加loading
效果,针对接口响应较长的情况下提升交互效果
13、针对Authorize菜单栏的参数,保存参数是全局保存,其它逻辑分组的接口再调试时,不需要再保存一次新值gitee #I16Z10
14、修复部分情况响应字段在ace-editor编辑器右边栏不显示字段说明的情况gitee #I17F5Y
15、搜索框完善对接口请求Api地址栏的模糊搜索匹配gitee #I19EN0、gitee #I1B0Q9
16、调试响应数据行太长,无法换行的问题gitee #I17F1J
17、在当前接口无参数的情况下,界面添加全局参数无效果的bug
如果你后端是Java+Spring的技术栈,在使用springfox的同时,想换一个Swagger的Ui皮肤,通过在pom.xml中直接引入即可,如下:
<dependency> <groupId>com.github.xiaoymin</groupId> <artifactId>knife4j-spring-ui</artifactId> <version>2.0.2</version> </dependency>
Knife4j-Spring
使用Spring Boot的技术栈可以通过引用starter的方式快速引入使用,注意该starter组件是包含Ui的,如下:
<dependency> <groupId>com.github.xiaoymin</groupId> <artifactId>knife4j-spring-boot-starter</artifactId> <version>2.0.2</version> </dependency>
如果是微服务的情况下,微服务其实不需要引用Ui的jar包,只需要在网关引用Ui的jar包依赖,所以在微服务情况下,使用增强属性只需要引用微服务版本的starter依赖,如下:
<dependency> <groupId>com.github.xiaoymin</groupId> <artifactId>knife4j-micro-spring-boot-starter</artifactId> <version>2.0.2</version> </dependency>
特点
-
基于Vue+Ant Design构建的文档,更强大、清晰的接口文档说明能力以及接口调试能力
-
左右布局,基于Tabs组件的多文档查阅风格
-
支持在线导出Html、Markdown、Word、PDF等多种格式的离线文档
-
接口排序,支持分组及接口的排序功能
-
支持接口全局在线搜索功能
-
提供Swagger资源保护策略,保护文档安全
-
接口调试支持无限参数,开发者调试非常灵活,动态增加、删除参数
-
全局缓存调试信息,页面刷新后依然存在,方便开发者调试
-
以更人性化的table树组件展示Swagger Models功能
-
文档以多tab方式可显示多个接口文档
-
请求参数栏请求类型、是否必填着颜色区分
-
主页中粗略统计接口不同类型数量
-
支持自定义全局参数功能,主页包括header及query两种类型
-
JSR-303 annotations 注解的支持
-
更多个性化设置功能
界面
接口文档显示界面如下:
接口调试界面如下:
Swagger Models功能
支持导出离线Markdown、Html功能,markdown的表格较原先版本通过缩减显示为树形结构,点击预览导出离线Html效果,效果图如下:
通过第三方Markdown软件导出的PDF效果如下图:
同时提供了导出离线Html功能,Html功能界面风格和在线几乎没有区别,美观、大方、简洁,点击在线预览效果,
界面效果如下图:
Star & Issue
感谢各位朋友的支持,前往https://gitee.com/xiaoym/knife4j点个Star吧~~ :)
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
分布式定时任务调度框架实践
本文首发于 vivo互联网技术 微信公众号 链接: https://mp.weixin.qq.com/s/l4vuYpNRjKxQRkRTDhyg2Q 作者:陈王荣 分布式任务调度框架几乎是每个大型应用必备的工具,本文介绍了任务调度框架使用的需求背景和痛点,对业界普遍使用的开源分布式任务调度框架的使用进行了探究实践,并分析了这几种框架的优劣势和对自身业务的思考。 一、业务背景 1.1 为什么需要使用定时任务调度 (1)时间驱动处理场景:整点发送优惠券,每天更新收益,每天刷新标签数据和人群数据。 (2)批量处理数据:按月批量统计报表数据,批量更新短信状态,实时性要求不高。 (3)异步执行解耦:活动状态刷新,异步执行离线查询,与内部逻辑解耦。 1.2 使用需求和痛点 (1)任务执行监控告警能力。 (2)任务可灵活动态配置,无需重启。 (3)业务透明,低耦合,配置精简,开发方便。 (4)易测试。 (5)高可用,无单点故障。 (6)任务不可重复执行,防止逻辑异常。 (7)大任务的分发并行处理能力。 二、开源框架实践与探索 2.1 Java 原生 Timer 和ScheduledExecutor...
- 下一篇
NovalIDE 1.2.1 版本发布,重磅功能来袭
软件官方网址:http://www.novalide.com NovalIDE 1.2.1 新年隆重发布,新版本添加了以下重磅功能! 发布gittool插件,支持clone,commit,checkout项目和代码 添加django插件,支持一键式转换django项目以及web调试 添加了自动完成插件,使用增强版智能提示功能可以边输入或边退格边提示 支持文本自动插入成对的符号,如引号,三引号,括号等 支持刷新项目文件夹下的文件并自动添加到项目文件中 优化调试器监视显示监视值类型 调试器运行时设置是否鼠标悬停时显示监视文本的内存值 修复了一些已知BUG 下面是软件功能截图:
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- MySQL8.0.19开启GTID主从同步CentOS8
- Mario游戏-低调大师作品
- CentOS关闭SELinux安全模块
- CentOS7,CentOS8安装Elasticsearch6.8.6
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库
- Docker安装Oracle12C,快速搭建Oracle学习环境
- Red5直播服务器,属于Java语言的直播服务器
- CentOS8编译安装MySQL8.0.19
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池