Я обновил свой весенний загрузочный проект с 1.5.8 до 2.0.4.Я заметил, что ранее все наши даты возвращались как метки времени, что было хорошо.после обновления даты выходили как даты, чтобы снова вернуть их в качестве временных меток, я добавил в свой файл yml следующее:
jackson:
serialization:
write-dates-as-timestamps: true
Теперь все даты возвращаются как даты.Не могу понять, почему.У нас есть класс конфигурации, в котором определен bean-компонент jacksonMessageConverter (необходим для преобразования сообщений 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());
}
Обновление:
С тех пор я добавил следующий класс конфигурации и теперь он работает, есть идеи, зачем мне это нужно?И почему он не был выбран из свойств весенней загрузки?
@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'")