当bean有日期时,我在bean中进行json转换时遇到问题。 例如,客户发送日期为2018-07-13 11:30:00,而jasckson在bean中存储日期为2018-07-13 13:30:00。
你能帮我吗?
我正在使用spring-boot 1.5.10和jackson 1.9.10
答案 0 :(得分:0)
尝试创建一个@Configuration
类,并在这两个bean定义中添加广告:
@Bean
public JavaTimeModule timeModule(DateTimeFormatter dateTimeFormatter){
JavaTimeModule timeModule = new JavaTimeModule();
timeModule.addSerializer(LocalDateTime.class, new LocalDateTimeSerializer(dateTimeFormatter));
timeModule.addSerializer(ZonedDateTime.class, new ZonedDateTimeSerializer(dateTimeFormatter));
return timeModule;
}
@Bean
public ObjectMapper objectMapper(JavaTimeModule timeModule) {
return Jackson2ObjectMapperBuilder.json()
.failOnUnknownProperties(false)
.featuresToEnable(com.fasterxml.jackson.core.JsonGenerator.Feature.WRITE_NUMBERS_AS_STRINGS)
.featuresToDisable(com.fasterxml.jackson.databind.SerializationFeature.WRITE_DATES_AS_TIMESTAMPS)
.modules(timeModule)
.build();
}