{"release":{"tag":{"name":"v2.0.9","path":"/xiaoym/knife4j/tags/v2.0.9","tree_path":"/xiaoym/knife4j/tree/v2.0.9","message":"","commit":{"id":"be0819f839a5e47194660a8c8ce1b7c5beb7e1db","short_id":"be0819f","title":"!47 Knife4j 2.0.9 发布，解决 issue 150+","title_markdown":"\u003Ca title=\"Pull Request: Knife4j 2.0.9 发布，解决 issue 150+\" class=\"gfm gfm-pull_request\" href=\"/xiaoym/knife4j/pulls/47\"\u003E!47\u003C/a\u003EKnife4j 2.0.9 发布，解决 issue 150+","description":"Merge pull request !47 from 萧明/dev","description_markdown":"Merge pull request \u003Ca title=\"Pull Request: Knife4j 2.0.9 发布，解决 issue 150+\" class=\"gfm gfm-pull_request\" href=\"/xiaoym/knife4j/pulls/47\"\u003E!47\u003C/a\u003Efrom 萧明/dev","message":"!47 Knife4j 2.0.9 发布，解决 issue 150+\nMerge pull request !47 from 萧明/dev","message_markdown":"\u003Ca title=\"Pull Request: Knife4j 2.0.9 发布，解决 issue 150+\" class=\"gfm gfm-pull_request\" href=\"/xiaoym/knife4j/pulls/47\"\u003E!47\u003C/a\u003EKnife4j 2.0.9 发布，解决 issue 150+\nMerge pull request \u003Ca title=\"Pull Request: Knife4j 2.0.9 发布，解决 issue 150+\" class=\"gfm gfm-pull_request\" href=\"/xiaoym/knife4j/pulls/47\"\u003E!47\u003C/a\u003Efrom 萧明/dev","detail_path":"/xiaoym/knife4j/commit/be0819f839a5e47194660a8c8ce1b7c5beb7e1db","commits_path":"/xiaoym/knife4j/commits/be0819f839a5e47194660a8c8ce1b7c5beb7e1db","tree_path":"/xiaoym/knife4j/tree/be0819f839a5e47194660a8c8ce1b7c5beb7e1db","author":{"name":"萧明","email":"xiaoymin@foxmail.com","username":"xiaoym","user_path":"/xiaoym","enterprise_user_path":null,"image_path":"https://foruda.gitee.com/avatar/1676902420607731264/118100_xiaoym_1578918321.jpg!avatar30","is_gitee_user":true,"is_enterprise_user":null,"widget_url":""},"committer":{"name":"Gitee GPG Bot","email":"noreply@gitee.com","username":"gitee-bot","user_path":"/gitee-bot","enterprise_user_path":null,"image_path":"https://foruda.gitee.com/avatar/1677201213385506226/10186697_gitee-bot_1639518846.png!avatar30","is_gitee_user":true,"is_enterprise_user":null,"widget_url":""},"authored_date":"2021-06-28T11:10:38+00:00","committed_date":"2021-06-28T11:10:38+00:00","signature":null,"build_state":null},"archive_path":"/xiaoym/knife4j/repository/archive/v2.0.9","signature":null},"operating":{"edit":false,"download":true,"destroy":false,"enterprise_forbid_zip":false},"release":{"title":"Knife4j 2.0.9 发布，解决 issue 150+","path":"/xiaoym/knife4j/releases/tag/v2.0.9","tag_path":"/xiaoym/knife4j/tree/v2.0.9","project_id":1872269,"created_at":"2021-06-28T19:15:46+08:00","is_prerelease":false,"description":"`Knife4j`前身是`swagger-bootstrap-ui`,是一个为Swagger接口文档赋能的工具\r\n\r\n**文档**：[https://xiaoym.gitee.io/knife4j/](https://xiaoym.gitee.io/knife4j/)\r\n\r\n**效果(旧版)**：http://swagger-bootstrap-ui.xiaominfo.com/doc.html\r\n\r\n**效果(2.X版)**：[http://knife4j.xiaominfo.com/doc.html](http://knife4j.xiaominfo.com/doc.html)\r\n\r\n**Gitee**：https://gitee.com/xiaoym/knife4j\r\n\r\n**GitHub**：https://github.com/xiaoymin/swagger-bootstrap-ui\r\n\r\n**示例**：https://gitee.com/xiaoym/swagger-bootstrap-ui-demo\r\n\r\n## 日志\r\n\r\n### OpenAPI3\r\n\r\n1、在OpenAPI3.0规范中针对下载请求对象显示错误的优化[Gitee#I374SP](https://gitee.com/xiaoym/knife4j/issues/I374SP)\r\n\r\n2、针对OpenAPI3规范中对于`binary`类型的format属性，上传组件不显示的问题[Gitee#I34NOS](https://gitee.com/xiaoym/knife4j/issues/I34NOS)、[Gitee #I3BRWT](https://gitee.com/xiaoym/knife4j/issues/I3BRWT)\r\n\r\n3、OpenAPI3.0规范中Swagger models 中的枚举显示[PR #43](https://gitee.com/xiaoym/knife4j/pulls/43)、[Gitee #I3DP8P](https://gitee.com/xiaoym/knife4j/issues/I3DP8P)\r\n\r\n4、针对OpenAPI3.0规范权限拦截问题增加接口地址[Gitee #I2810R](https://gitee.com/xiaoym/knife4j/issues/I2810R)、[Gitee #I3HSK4](https://gitee.com/xiaoym/knife4j/issues/I3HSK4)\r\n\r\n5、针对OpenAPI3规范支持请求参数中包含`$ref`的问题[Gitee #I2A89C](https://gitee.com/xiaoym/knife4j/issues/I2A89C)\r\n\r\n6、针对OpenAPI3规范中图片预览的问题优化[Gitee #I3IUUQ](https://gitee.com/xiaoym/knife4j/issues/I3IUUQ)\r\n\r\n### 聚合组件aggregation\r\n\r\n1、聚合组件针对Cloud模式转发HTTP请求时，请求头重复导致转发失败的问题[Gitee #PR39](https://gitee.com/xiaoym/knife4j/pulls/39)\r\n\r\n2、aggregation聚合组件增加order属性，方便开发者排序设置聚合OpenAPI文档的顺序[Gitee #I27ST2](https://gitee.com/xiaoym/knife4j/issues/I27ST2)\r\n\r\n3、aggregation聚合组件Nacos聚合微服务文档支持Nacos用户名及密码访问OpenAPI接口[Gitee #I28IF9](https://gitee.com/xiaoym/knife4j/issues/I28IF9)\r\n\r\n4、聚合组件日志打印信息优化，增加`isDebugEnabled`逻辑判断,日志级别全部由`info`改为`debug`级别[Gitee #I39QPL](https://gitee.com/xiaoym/knife4j/issues/I39QPL)\r\n\r\n5、聚合组件响应Model不显示的问题[Gitee #I3EMZE](https://gitee.com/xiaoym/knife4j/issues/I3EMZE)\r\n\r\n6、聚合组件没有正确响应接口的状态码信息[PR #44](https://gitee.com/xiaoym/knife4j/pulls/44)\r\n\r\n7、基于`Eureka/Nacos`注册中心的聚合组件，增加心跳检测机制(`30s/per`)，自动剔除已经下线的服务,保证聚合文档的正常访问[Gitee #I2CKQT](https://gitee.com/xiaoym/knife4j/issues/I2CKQT)、[Gitee #I2CDCK](https://gitee.com/xiaoym/knife4j/issues/I2CDCK)、[Gitee #I2KUUY](https://gitee.com/xiaoym/knife4j/issues/I2KUUY)\r\n\r\n8、`Cloud`模式增加心跳检测机制(`30s/per`)，自动剔除已经下线的服务,保证聚合文档的正常访问\r\n\r\n8、聚合组件转发文件时参数丢失的问题[Gitee #I39OXE](https://gitee.com/xiaoym/knife4j/issues/I39OXE)\r\n\r\n### 常规\r\n\r\n1、OAuth2授权`Content-Type`的异常问题[Gitee#PR35](https://gitee.com/xiaoym/knife4j/pulls/35)、[Gitee#I2CKHA](https://gitee.com/xiaoym/knife4j/issues/I2CKHA)\r\n\r\n2、OAuth2判断异常的问题[Gitee #PR37](https://gitee.com/xiaoym/knife4j/pulls/37)\r\n\r\n3、修复离线导出Markdown文档自定义文档为`undefined`的问题[Gitee#I2EDI8](https://gitee.com/xiaoym/knife4j/issues/I2EDI8)、[Gitee #I2WCQG](https://gitee.com/xiaoym/knife4j/issues/I2WCQG)\r\n\r\n4、日志的打印优化[Gitee #I39QPL](https://gitee.com/xiaoym/knife4j/issues/I39QPL)\r\n\r\n5、微服务聚合时`basePath`不追加的问题[Gitee #I3B5BK](https://gitee.com/xiaoym/knife4j/issues/I3B5BK)、[Gitee #I3EEJ3](https://gitee.com/xiaoym/knife4j/issues/I3EEJ3)\r\n\r\n6、针对List类型示例值多出换行符的问题[Gitee #I2D6D4](https://gitee.com/xiaoym/knife4j/issues/I2D6D4)\r\n\r\n7、解决Form类型上传参数时传递`Null`的问题[Gitee #I3AHDQ](https://gitee.com/xiaoym/knife4j/issues/I3AHDQ)\r\n\r\n8、针对个性化配置的保存问题修改逻辑，开发者通过界面保存个性化配置后丢失的问题[Gitee #I27CN8](https://gitee.com/xiaoym/knife4j/issues/I27CN8)、[Gitee #I2CBZQ](https://gitee.com/xiaoym/knife4j/issues/I2CBZQ)、[Gitee #I2978Y](https://gitee.com/xiaoym/knife4j/issues/I2978Y)、[Gitee #I3IEXT](https://gitee.com/xiaoym/knife4j/issues/I3IEXT)、[Gitee #I3Q0MO](https://gitee.com/xiaoym/knife4j/issues/I3Q0MO)、[Gitee #I3QSAN](https://gitee.com/xiaoym/knife4j/issues/I3QSAN)\r\n\r\n9、针对接口分组中不存在API接口时出现链接点击空白的问题处理，如果分组下没有API接口,默认点击显示主页[Gitee #I2CVTF](https://gitee.com/xiaoym/knife4j/issues/I2CVTF)\r\n\r\n10、OpenAPI规范中tags缺失时导致接口不显示的问题优化,增加`default`默认分组[Gitee #I27M98](https://gitee.com/xiaoym/knife4j/issues/I27M98)\r\n\r\n11、针对服务端使用`@RequestMapping`注解通过`method`限定方法类型时，Ui增强功能过滤不生效的问题[Gitee #I28RJ5](https://gitee.com/xiaoym/knife4j/issues/I28RJ5)\r\n\r\n12、文件上传类型接口请求数据显示类型错误的情况改进，根据参数设置接口请求数据类型为`multipart/form-data`[Gitee #I29KMH](https://gitee.com/xiaoym/knife4j/issues/I29KMH)\r\n\r\n13、优化响应`html/xml/text`等内容时展现方式[Gitee #I2A0QA](https://gitee.com/xiaoym/knife4j/issues/I2A0QA)\r\n\r\n14、分组下拉框搜索失效的问题[Gitee #I3BAOK](https://gitee.com/xiaoym/knife4j/issues/I3BAOK)\r\n\r\n15、优化OpenAPI版本判断的逻辑,根据响应OpenAPI规范JSON再判断获取当前的规范版本，防止出现空异常或Model不显示等问题[Gitee #I37X0Q](https://gitee.com/xiaoym/knife4j/issues/I37X0Q)、[Gitee #I3EMZE](https://gitee.com/xiaoym/knife4j/issues/I3EMZE)\r\n\r\n16、针对`JSON`请求格式的提交，增加`Beantify`按钮，可以对文本格式化美化的功能[Gitee #I39MUP](https://gitee.com/xiaoym/knife4j/issues/I39MUP)\r\n\r\n17、调试发送时增强`loading`效果体验[Gitee #I3BG5V](https://gitee.com/xiaoym/knife4j/issues/I3BG5V)\r\n\r\n18、SwaggerModels 内容太长不会自动换行的问题[Gitee #I3QC02](https://gitee.com/xiaoym/knife4j/issues/I3QC02)\r\n\r\n19、针对Map属性的结构展示异常的问题[Gitee #I37WB7](https://gitee.com/xiaoym/knife4j/issues/I37WB7)\r\n\r\n20、解决`afterScript`特性不能添加多个参数的问题[Gitee #I3OJUW](https://gitee.com/xiaoym/knife4j/issues/I3OJUW)\r\n\r\n21、优化响应内容判断`base64`导致效率低下的问题[Gitee #I2VRD5](https://gitee.com/xiaoym/knife4j/issues/I2VRD5)。\r\n\r\n22、针对增强注解`@ApiOperationSupport`提供的`ignoreParameters`属性提供正则模式的忽略策略支持[Gitee #I21ZKC](https://gitee.com/xiaoym/knife4j/issues/I21ZKC)","author":{"name":"萧明","username":"xiaoym","path":"/xiaoym","avatar_url":"https://foruda.gitee.com/avatar/1676902420607731264/118100_xiaoym_1578918321.jpg!avatar30"},"attach_files":[],"zip_download_url":"/xiaoym/knife4j/releases/tag/v2.0.9.zip","tar_download_url":"/xiaoym/knife4j/releases/tag/v2.0.9.tar.gz"}}}