You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Spring Boot配置ObjectMapper全局序列化LocalDateTime格式不生效

问题根因

你手动注册的ObjectMapper Bean未被Spring MVC用于HTTP响应序列化。Spring Boot Web组件的MappingJackson2HttpMessageConverter默认通过Jackson2ObjectMapperBuilder构建独立的ObjectMapper实例,不会直接复用你手动new并注册的Bean,因此你手动注入调用时配置生效,Controller返回JSON时走的是未配置的默认实例,时间就会输出ISO-8601格式的2022-06-30T22:44:11。

全局生效配置方案

方案1:使用Jackson2ObjectMapperBuilderCustomizer扩展(官方推荐)

无需自行定义ObjectMapper Bean,直接注册定制器修改Spring Boot自动构建的全局ObjectMapper实例,Controller序列化、全局注入的ObjectMapper等所有场景都会统一生效,且保留Spring Boot默认的Jackson优化配置,不会引入额外兼容问题,代码如下:

@Bean
public Jackson2ObjectMapperBuilderCustomizer jacksonGlobalTimeCustomizer() {
    DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd-MM-yyyy hh:mm");
    JavaTimeModule javaTimeModule = new JavaTimeModule();
    javaTimeModule.addSerializer(LocalDateTime.class, new LocalDateTimeSerializer(formatter));
    javaTimeModule.addDeserializer(LocalDateTime.class, new LocalDateTimeDeserializer(formatter));
    return builder -> {
        builder.modules(javaTimeModule);
        builder.featuresToDisable(
                SerializationFeature.WRITE_DATES_AS_TIMESTAMPS,
                SerializationFeature.WRITE_DATES_WITH_CONTEXT_TIME_ZONE,
                DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES
        );
    };
}

方案2:显式替换MVC消息转换器(适配已有自定义ObjectMapper的场景)

如果你需要保留当前自定义ObjectMapper的写法,直接显式将该Bean注入到Jackson的HTTP消息转换器中,覆盖默认实例即可:

@Bean
public MappingJackson2HttpMessageConverter mappingJackson2HttpMessageConverter(ObjectMapper objectMapper) {
    return new MappingJackson2HttpMessageConverter(objectMapper);
}

注意该方案需要确保你自定义的ObjectMapper已经加载了Spring Boot默认的Jackson扩展模块(比如参数名解析、空值序列化规则等),否则可能出现其他序列化异常。

避坑说明
  • 配置文件中的spring.jackson.date-format参数仅对java.util.Date、java.util.Calendar等旧时间类型生效,对LocalDateTime、LocalDate等Java 8+时间类型无效,无需额外配置该参数。
  • 如果项目中引入了fastjson、gson等其他JSON序列化依赖,请检查对应HttpMessageConverter的优先级,若优先级高于Jackson转换器会导致序列化完全不走Jackson,配置自然不生效。
  • 以上两种方案均为全局生效,无需在任何时间字段上添加@JsonFormat类的注解单独指定格式。

内容的提问来源于stack exchange,提问作者Rafael Lima

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.28 00:16:03