2020年6月7日
今天使用遠程調用報錯: jackson.databind.exc.MismatchedInputException: Cannot deserialize instance of xx
過程:
debug 后發現,調用的數據中含有 null 值
原因:
jackson 序列化時,遇到 null 值會出錯
解決:
配置 jackson 配置類中設置 為 NON_NULL
@Configuration
public class JacksonConfig {
@Bean
@Primary
@ConditionalOnMissingBean(ObjectMapper.class)
public ObjectMapper jacksonObjectMapper(Jackson2ObjectMapperBuilder builder) {
ObjectMapper objectMapper = builder.createXmlMapper(false).build();
objectMapper.setSerializationInclusion(JsonInclude.Include.NON_NULL);
return objectMapper;
}
}