Reputation: 143
/**
* @author Juzi
* @date 2020/7/15 09:55
*/
@Configuration
public class JacksonConfiguration {
/**
* LocalDateTime 序列化器
*/
@Autowired
private JacksonLocalDateTimeSerializer jacksonLocalDateTimeSerializer;
/**
* LocalDateTime 反序列化器
*/
@Autowired
private JacksonLocalDateTimeDeserializer jacksonLocalDateTimeDeserializer;
@Bean
public Jackson2ObjectMapperBuilderCustomizer jackson2ObjectMapperBuilderCustomizer() {
return builder -> builder
.serializerByType(LocalDateTime.class, jacksonLocalDateTimeSerializer)
.deserializerByType(LocalDateTime.class, jacksonLocalDateTimeDeserializer);
}
}
I specified Serializer and Deserializer, but they didn't work! So, What should I do to make it work?
Upvotes: 1
Views: 639
Reputation: 18480
You can add Serializer/Deserializer in JavaTimeModule and register it in ObjectMapper.
Example:
@Configuration
public class JacksonConfiguration {
@Bean
@Primary
public ObjectMapper configureObjectMapper() {
JavaTimeModule javaTimeModule = new JavaTimeModule();
javaTimeModule.addSerializer(LocalDateTime.class, new JacksonLocalDateTimeSerializer());
javaTimeModule.addDeserializer(LocalDateTime.class, new JacksonLocalDateTimeDeserializer());
ObjectMapper objectMapper = new ObjectMapper();
objectMapper.registerModule(javaTimeModule);
return objectMapper;
}
}
Upvotes: 1