场景

此接口是下载文件,但逻辑中存在异常情况,并且响应对象设置了此响应头:

response.setHeader(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_OCTET_STREAM_VALUE);

当内部抛出了异常后并且给了一个通用的实体对象,是JSON格式并非文件流:

{
	"code": 500,
	"message": "异常"
}

最后SpringMVC在转换的时候报此类错误。
在这里插入图片描述

解决

关键点就在于上述的响应头固定了是返回流数据,设置兼容其它格式或者在这样设置:

@PostMapping(value = "xxxx",
  produces = {MediaType.APPLICATION_OCTET_STREAM_VALUE, MediaType.APPLICATION_JSON_VALUE})
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐