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

Spring Boot中Java.sql.Timestamp字段在Postman显示异常的解决求助

解决Spring Boot返回java.sql.Timestamp为时间戳的问题

Postman中transactionDate显示为时间戳,是因为Spring Boot默认的Jackson序列化规则会将java.sql.Timestamp(属于java.util.Date子类)序列化为时间戳格式。以下是几种解决方法:

方法一:字段级注解控制单个字段

直接在TransactionEntity的transactionDate字段上添加@JsonFormat注解,指定所需的日期格式和时区:

import com.fasterxml.jackson.annotation.JsonFormat;
import java.sql.Timestamp;

public class TransactionEntity {
    // 格式匹配需求的"yyyy-MM-dd HH:mm:ss.S",时区设置为东八区(根据业务调整)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss.S", timezone = "GMT+8")
    private Timestamp transactionDate;

    // 其他字段、getter/setter方法省略
}

方法二:全局配置统一所有日期字段

如果希望项目中所有日期类型字段都采用相同格式返回,可在配置文件中设置Jackson参数:

使用application.properties

# 指定日期序列化格式
spring.jackson.date-format=yyyy-MM-dd HH:mm:ss.S
# 设置时区
spring.jackson.timezone=GMT+8

使用application.yml

spring:
  jackson:
    date-format: yyyy-MM-dd HH:mm:ss.S
    timezone: GMT+8

方法三:自定义Jackson配置类(灵活扩展)

通过配置类自定义ObjectMapper,实现更灵活的序列化规则:

import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.SerializationFeature;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import java.text.SimpleDateFormat;
import java.util.TimeZone;

@Configuration
public class JacksonConfig {
    @Bean
    public ObjectMapper objectMapper() {
        ObjectMapper objectMapper = new ObjectMapper();
        // 定义日期格式并设置时区
        SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.S");
        dateFormat.setTimeZone(TimeZone.getTimeZone("GMT+8"));
        objectMapper.setDateFormat(dateFormat);
        // 禁用将日期序列化为时间戳的默认行为
        objectMapper.disable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS);
        return objectMapper;
    }
}

注意事项

  • 时区设置需与业务场景匹配,国内业务通常使用GMT+8
  • 若项目同时使用java.time包下的日期类(如LocalDateTime),可额外引入JavaTimeModule来兼容序列化

内容的提问来源于stack exchange,提问作者Albert Lam

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 06:55:31