异常消息如下:
nested exception is com.fasterxml.jackson.databind.exc.MismatchedInputException: Cannot deserialize instance of `xxx` out of START_OBJECT token
本来我用fastjson消息转换器替换了原来的消息转换器,我以为是没有替换掉,折腾了一阵
后来去掉fastjson消息转换器还是报错,我想着应该是返回的数据问题
被调用服务控制层返回的数据和我反序列的对象一致,应该是被调用服务对返回的数据统一做了包装,导致的问题,去除包装就好了,或者反序列化的对象为包装后的对象
我是在方法映射上加headers属性,属性值Keep-Original=Keep-Original,去除包装
@GetMapping(value = "xxx",headers = {"Keep-Original=Keep-Original"})
最后问题就完美解决了
博客讲述了在API调用中遇到的JSON反序列化异常问题。作者最初怀疑是消息转换器未替换,但即使移除fastjson转换器问题依然存在。最终发现是由于被调用服务对返回数据进行了统一包装,通过在请求头添加'Keep-Original=Keep-Original'解决了数据解包问题,成功进行反序列化。
1345

被折叠的 条评论
为什么被折叠?



