场景

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

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

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐