原报错信息:
nested exception is com.fasterxml.jackson.databind.exc.MismatchedInputException: Cannot deserialize value of type `java.util.ArrayList<>` from Object value (token `JsonToken.START_OBJECT`)
解决办法:
Feign接口中返回的是一个List而不是一个Object,报了这个错。是Jackson默认不支持序列化List,需要加ACCEPT_SINGLE_VALUE_AS_ARRAY配置:
spring:
jackson:
deserialization:
ACCEPT_SINGLE_VALUE_AS_ARRAY: true
其他办法:
- 使用注解:
@JsonFormat(with = JsonFormat.Feature.ACCEPT_SINGLE_VALUE_AS_ARRAY) - 在代码中开启:
ObjectMapper mapper = new ObjectMapper();
mapper.enable(DeserializationFeature.ACCEPT_SINGLE_VALUE_AS_ARRAY);
当Feign接口返回类型为List时,由于Jackson默认不支持将单个对象解析为List,导致报错。可以设置Spring的Jackson配置`deserialization.accept_single_value_as_array:true`来解决,或者在代码中使用`@JsonFormat(with=JsonFormat.Feature.ACCEPT_SINGLE_VALUE_AS_ARRAY)`注解,启用接受单值作为数组的反序列化功能。
9124

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



