问题描述
在应用程序上下文中,我已经注册了一个ObjectMapper模块:
In application context I have registered an ObjectMapper module:
@Bean
public SimpleModule jsr310Module() {
final SimpleModule module = new SimpleModule();
module.addSerializer(new LocalDateSerializer());
module.addDeserializer(LocalDate.class, new LocalDateDeserializer());
return module;
}
我试图调试并加载它(或者至少是方法 public void setupModule(SetupContext context)
在启动时执行)
但是当我调用一个返回带有LocalDate的对象的rest API时,我的反序列化器将被忽略。
I tried to debug and it is loaded (or at least the method public void setupModule(SetupContext context)
is execute on boot)but when I call a rest API that return an object with a LocalDate my deserializer is ignored.
一些解决问题的提示?
推荐答案
根据 Spring Boot文档,要配置ObjectMapper,您可以自己定义bean并使用 @Bean
和 @Primary
对其进行注释。在那里你可以注册模块。或者你可以添加一个类型为 Jackson2ObjectMapperBuilder
的bean,你可以自定义ObjectMapper。
According to the Spring Boot documentation, to configure the ObjectMapper you can either define the bean yourself and annotate it with @Bean
and @Primary
. There you can register the module. Or you can add a bean of type Jackson2ObjectMapperBuilder
where you can customize the ObjectMapper.
这篇关于Spring Boot忽略ObjectMapper模块的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!