【问题标题】:Jackson Serialize date as timestamps杰克逊将日期序列化为时间戳
【发布时间】:2018-09-19 16:31:44
【问题描述】:

我已将我的 Spring Boot 项目从 1.5.8 升级到 2.0.4。我注意到以前我们所有的日期都作为时间戳返回,这很好。由于升级日期以日期的形式出现,为了让它们再次以时间戳的形式出现,我将以下内容添加到我的 yml 文件中:

jackson:
  serialization:
    write-dates-as-timestamps: true

现在所有日期都作为日期返回。想不通为什么。我们有一个配置类,它定义了一个 jacksonMessageConverter bean(在转换 rabbitMq 的消息时需要),不确定这是否会以某种方式破坏转换?

非常感谢任何帮助

public class ApplicationConfig{
    @Bean
    public AuditorAware<String> auditorProvider() {
        return new AuditorAwareImpl();
    }

    @Bean
    public Jackson2JsonMessageConverter jackson2JsonMessageConverter() {
        return new Jackson2JsonMessageConverter();
    }

    @Bean
    public ConnectionFactory connectionFactory() {
        CachingConnectionFactory connectionFactory = new 
        CachingConnectionFactory(<host>);
        connectionFactory.setUsername(<user>);
        connectionFactory.setPassword(<pas>);
        connectionFactory.setVirtualHost(<vhost>);
        return connectionFactory;
    }

    @Bean
    public RabbitTemplate rabbitTemplate() {
        return new RabbitTemplate(connectionFactory());
    }

更新:

我已经在我的配置类中添加了以下内容,现在它正在工作,任何想法为什么我需要这个?为什么它没有从 Spring Boot 属性中获取?

@Bean
    public Jackson2ObjectMapperBuilder objectMapperBuilder() {
        Jackson2ObjectMapperBuilder builder = new Jackson2ObjectMapperBuilder();
        builder.featuresToEnable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS);
        return builder;
    }

它不适用于我定义格式的日期字段,我该如何解决这个问题?:

@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'")  

【问题讨论】:

  • 您使用什么类型的日期? java.util.Date,乔达 DateTime,java8 LocalDate,...?更好的是,在编辑中添加您的 pom.xml 以及您的序列化类。
  • 我错过了发行说明中的​​这一更改。感谢您指出这一点!

标签: spring spring-boot jackson


【解决方案1】:

不应该是:

spring:
  jackson:
    serialization:
      write-dates-as-timestamps: true

你不是缺少spring 前缀吗?

【讨论】:

  • 对不起,这是一个糟糕的复制和粘贴工作,我有 spring 前缀。
猜你喜欢
  • 2019-07-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-11-25
  • 2017-04-25
  • 2019-08-04
  • 2021-05-27
相关资源
最近更新 更多