package com.juick.config; import java.io.IOException; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import com.fasterxml.jackson.databind.DeserializationContext; import com.fasterxml.jackson.databind.deser.DeserializationProblemHandler; import com.fasterxml.jackson.databind.module.SimpleModule; @Configuration public class JacksonConfig { Logger logger = LoggerFactory.getLogger("JSON"); @Bean com.fasterxml.jackson.databind.Module lenientDeserializationModule() { return new SimpleModule() { @Override public void setupModule(SetupContext context) { super.setupModule(context); context.addDeserializationProblemHandler(new DeserializationProblemHandler() { @Override public Object handleWeirdStringValue(DeserializationContext ctxt, Class targetType, String valueToConvert, String failureMsg) throws IOException { logger.info("invalid string value '{}': {}", valueToConvert, failureMsg); return null; } @Override public Object handleWeirdNumberValue(DeserializationContext ctxt, Class targetType, Number valueToConvert, String failureMsg) throws IOException { logger.info("invalid number value '{}': {}", valueToConvert, failureMsg); return null; } }); } }; } }