# [v2.0.9-2021/06/28 Knife4j 2.0.9发布,解决issue 150+]

Knife4j前身是swagger-bootstrap-ui,是一个为Swagger接口文档赋能的工具

文档https://xiaoym.gitee.io/knife4j/ (opens new window)

效果(旧版):http://swagger-bootstrap-ui.xiaominfo.com/doc.html

效果(2.X版)http://knife4j.xiaominfo.com/doc.html (opens new window)

Gitee:https://gitee.com/xiaoym/knife4j

GitHub:https://github.com/xiaoymin/swagger-bootstrap-ui

示例:https://gitee.com/xiaoym/swagger-bootstrap-ui-demo

# 日志

# OpenAPI3

1、在OpenAPI3.0规范中针对下载请求对象显示错误的优化Gitee#I374SP (opens new window)

2、针对OpenAPI3规范中对于binary类型的format属性,上传组件不显示的问题Gitee#I34NOS (opens new window)Gitee #I3BRWT (opens new window)

3、OpenAPI3.0规范中Swagger models 中的枚举显示PR #43 (opens new window)Gitee #I3DP8P (opens new window)

4、针对OpenAPI3.0规范权限拦截问题增加接口地址Gitee #I2810R (opens new window)Gitee #I3HSK4 (opens new window)

5、针对OpenAPI3规范支持请求参数中包含$ref的问题Gitee #I2A89C (opens new window)

6、针对OpenAPI3规范中图片预览的问题优化Gitee #I3IUUQ (opens new window)

# 聚合组件aggregation

1、聚合组件针对Cloud模式转发HTTP请求时,请求头重复导致转发失败的问题Gitee #PR39 (opens new window)

2、aggregation聚合组件增加order属性,方便开发者排序设置聚合OpenAPI文档的顺序Gitee #I27ST2 (opens new window)

3、aggregation聚合组件Nacos聚合微服务文档支持Nacos用户名及密码访问OpenAPI接口Gitee #I28IF9 (opens new window)

4、聚合组件日志打印信息优化,增加isDebugEnabled逻辑判断,日志级别全部由info改为debug级别Gitee #I39QPL (opens new window)

5、聚合组件响应Model不显示的问题Gitee #I3EMZE (opens new window)

6、聚合组件没有正确响应接口的状态码信息PR #44 (opens new window)

7、基于Eureka/Nacos注册中心的聚合组件,增加心跳检测机制(30s/per),自动剔除已经下线的服务,保证聚合文档的正常访问Gitee #I2CKQT (opens new window)Gitee #I2CDCK (opens new window)Gitee #I2KUUY (opens new window)

8、Cloud模式增加心跳检测机制(30s/per),自动剔除已经下线的服务,保证聚合文档的正常访问

8、聚合组件转发文件时参数丢失的问题Gitee #I39OXE (opens new window)

# 常规

1、OAuth2授权Content-Type的异常问题Gitee#PR35 (opens new window)Gitee#I2CKHA (opens new window)

2、OAuth2判断异常的问题Gitee #PR37 (opens new window)

3、修复离线导出Markdown文档自定义文档为undefined的问题Gitee#I2EDI8 (opens new window)Gitee #I2WCQG (opens new window)

4、日志的打印优化Gitee #I39QPL (opens new window)

5、微服务聚合时basePath不追加的问题Gitee #I3B5BK (opens new window)Gitee #I3EEJ3 (opens new window)

6、针对List类型示例值多出换行符的问题Gitee #I2D6D4 (opens new window)

7、解决Form类型上传参数时传递Null的问题Gitee #I3AHDQ (opens new window)

8、针对个性化配置的保存问题修改逻辑,开发者通过界面保存个性化配置后丢失的问题Gitee #I27CN8 (opens new window)Gitee #I2CBZQ (opens new window)Gitee #I2978Y (opens new window)Gitee #I3IEXT (opens new window)Gitee #I3Q0MO (opens new window)Gitee #I3QSAN (opens new window)

9、针对接口分组中不存在API接口时出现链接点击空白的问题处理,如果分组下没有API接口,默认点击显示主页Gitee #I2CVTF (opens new window)

10、OpenAPI规范中tags缺失时导致接口不显示的问题优化,增加default默认分组Gitee #I27M98 (opens new window)

11、针对服务端使用@RequestMapping注解通过method限定方法类型时,Ui增强功能过滤不生效的问题Gitee #I28RJ5 (opens new window)

12、文件上传类型接口请求数据显示类型错误的情况改进,根据参数设置接口请求数据类型为multipart/form-dataGitee #I29KMH (opens new window)

13、优化响应html/xml/text等内容时展现方式Gitee #I2A0QA (opens new window)

14、分组下拉框搜索失效的问题Gitee #I3BAOK (opens new window)

15、优化OpenAPI版本判断的逻辑,根据响应OpenAPI规范JSON再判断获取当前的规范版本,防止出现空异常或Model不显示等问题Gitee #I37X0Q (opens new window)Gitee #I3EMZE (opens new window)

16、针对JSON请求格式的提交,增加Beantify按钮,可以对文本格式化美化的功能Gitee #I39MUP (opens new window)

image-20210507212527321

17、调试发送时增强loading效果体验Gitee #I3BG5V (opens new window)

image-20210509083436452

18、SwaggerModels 内容太长不会自动换行的问题Gitee #I3QC02 (opens new window)

19、针对Map属性的结构展示异常的问题Gitee #I37WB7 (opens new window)

20、解决afterScript特性不能添加多个参数的问题Gitee #I3OJUW (opens new window)

21、优化响应内容判断base64导致效率低下的问题Gitee #I2VRD5 (opens new window)

22、针对增强注解@ApiOperationSupport提供的ignoreParameters属性提供正则模式的忽略策略支持Gitee #I21ZKC (opens new window)

# 特点

  • 基于Vue+Ant Design构建的文档,更强大、清晰的接口文档说明能力以及接口调试能力
  • 左右布局,基于Tabs组件的多文档查阅风格
  • 支持在线导出Html、Markdown、Word、PDF等多种格式的离线文档
  • 接口排序,支持分组及接口的排序功能
  • 支持接口全局在线搜索功能
  • 提供Swagger资源保护策略,保护文档安全
  • 接口调试支持无限参数,开发者调试非常灵活,动态增加、删除参数
  • 全局缓存调试信息,页面刷新后依然存在,方便开发者调试
  • 以更人性化的table树组件展示Swagger Models功能
  • 文档以多tab方式可显示多个接口文档
  • 请求参数栏请求类型、是否必填着颜色区分
  • 主页中粗略统计接口不同类型数量
  • 支持自定义全局参数功能,主页包括header及query两种类型
  • JSR-303 annotations 注解的支持
  • 更多个性化设置功能

# 界面

接口文档显示界面如下:

接口调试界面如下:

Swagger Models功能

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

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

同时提供了导出离线Html功能,Html功能界面风格和在线几乎没有区别,美观、大方、简洁,点击在线预览效果 (opens new window)

界面效果如下图:

# 其他

感谢各位朋友的支持,前往https://gitee.com/xiaoym/knife4j (opens new window)点个Star吧~~ :)

被围观 人次
上次更新: 2021/6/28 18:55:36
有任何问题请使用Knife4j的标签在OSC社区