今天在对一个老项目进行了微服务的拆分
用feign调用一个老服务的时候抛出了这样的异常
Error while extracting response for type [java.util.List<com.uxseeing.survey.entity.ext.SurveySimpleExt>] and content type [application/json;charset=utf-8];
nested exception is org.springframework.http.converter.HttpMessageNotReadableException:
JSON parse error: Cannot deserialize instance of `java.util.ArrayList` out of START_OBJECT token; nested exception is com.fasterxml.jackson.databind.exc.MismatchedInputException:
Cannot deserialize instance of `java.util.ArrayList` out of START_OBJECT token\n at [Source: (PushbackInputStream); line: 1, column: 1]
居然说 Cannot deserialize ,所以一开始的方向就是以为是序列化的问题,尝试在SSM里面注册各种Convertor,然并卵。
也试了下对这个实体类实现序列化接口,还是然并卵。
最后!
在老服务那里发现连interceptor都没有进去
原来是请求直接被拦截了,接口直接返回了一个页面,你说他调用成功吧,他没有将我想要的数据给我,所以一直报序列化失败,我的数据啊可恶。你说他失败吧,他又没有报404给你一个友好的页面。
用PostMan没有发现问题是因为PostMan里面有我的cookies,唉,一杯茶一支烟,一个bug搞一天。