如何解决swagger-bootstrap-ui升级Knife4j的文件下载乱码和Knife4j.txt问题

如何解决swagger-bootstrap-ui升级Knife4j的文件下载乱码和Knife4j.txt问题

这篇文章给大家分享的是有关如何解决swagger-bootstrap-ui升级Knife4j的文件下载乱码和Knife4j.txt问题的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

一、升级Knife4j准备工作

  • 依赖引入

    如何解决swagger-bootstrap-ui升级Knife4j的文件下载乱码和Knife4j.txt问题

<dependency><groupId>com.github.xiaoymin</groupId><artifactId>knife4j-spring-boot-starter</artifactId></dependency>

  • 注解开启

@EnableSwagger2@EnableKnife4jpublicclassSwaggerAutoConfiguration{//...}

二、文件下载接口

  1. 下载乱码问题

  • 出现乱码问题是因为Knife4j不支持@PostMapping的文件缓存,需要将接口转成GetMapping

  1. 文件下载为Knife4j.txt

  • 文件流为空

  • 配置GetMappingproduces = MediaType.APPLICATION_OCTET_STREAM_VALUE

  • 设置响应头(注意空格和逗号)

response.setHeader("Content-Disposition","attachment;filename="+URLEncoder.encode(fileName,"utf-8"));

三、存在的问题

  • Get请求不支持请求参数缓存,每次文件下载都要重新设置参数,非常不方便

  • 文件下载不支持Post请求

  • 如果返回数据过大,页面会非常卡,不建议升级knife4j

感谢各位的阅读!关于“如何解决swagger-bootstrap-ui升级Knife4j的文件下载乱码和Knife4j.txt问题”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

发布于 2021-12-28 22:18:06
收藏
分享
海报
0 条评论
61
上一篇:前端UI框架Bootstrap、Foundation、Semantic UI、Pure和UIkit有什么区别 下一篇:SAP用户状态的示例分析
目录

    0 条评论

    本站已关闭游客评论,请登录或者注册后再评论吧~

    忘记密码?

    图形验证码