Spring 引导忽略 ObjectMapper 模块

Spring Boot ignore ObjectMapper module

在应用程序上下文中我已经注册了一个 ObjectMapper 模块:

@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) 方法在启动时执行) 但是当我调用 rest API return 一个带有 LocalDate 的对象时,我的反序列化器被忽略了。

解决问题的一些提示?

根据 Spring Boot documentation,要配置 ObjectMapper,您可以自己定义 bean 并使用 @Bean@Primary 对其进行注释。在那里你可以注册模块。或者您可以添加类型为 Jackson2ObjectMapperBuilder 的 bean,您可以在其中自定义 ObjectMapper。

要使其正常工作,@Configuration class 应该扩展 WebMvcAutoConfiguration