HttpMediaTypeNotAcceptableException: Could not find acceptable representation

在尝试通过HTTP响应返回图片流时遇到HttpMediaTypeNotAcceptableException,原因是返回内容类型与请求头中可接受的媒体类型不符。此外,由于同时返回了String内容,引发了ClassCastException。解决方案是仅返回图片流或将其转换为Base64字符串。此问题导致统一返回处理被调用两次,但不影响实际接口展示。需要注意的是,应避免在统一返回逻辑中处理特定类型的响应,以防止重复错误信息。

HttpMediaTypeNotAcceptableException: Could not find acceptable representation


异常说明: 翻译说是找不到对应的可以接受类型。


但是我这的触发场景是在通过response返回图片流的时候,并且return了String内容。
在这里插入图片描述
于是还导致出现了另一个异常信息:

java.lang.ClassCastException: com.alibaba.fastjson.JSONObject cannot be cast to java.lang.
String

解决方案: 只返回图片流,或者将图片Base64转码然后返回;


引发了新的问题

由于我们做了统一返回处理
在这里插入图片描述

通常返回的时候统一返回处理的地方只会走一次然后正常返回,然而上面的操作会导致这里执行两次,从而控制台会报两次错误信息。(个人猜想: 虽然两次都报错了,但是由于图片已经写入response流里面了,所以没受影响接口正常显示出来了)。


如有不正确的地方,希望大家提醒,我会及时修改。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

JustDoSelf

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值