首页 > 其他 > 详细

定制LocalDateTime序列,把序列化格式

时间:2021-07-13 12:02:26      阅读:27      评论:0      收藏:0      [点我收藏+]

SpringBoot版本:

<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.12.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>

问题描述:
  项目使用LocalDateTime作为日期类型,默认下,前端传参,后端返回的字符串形式如:2016-10-20T11:08:46
现在要求:
  对应的日期字符串格式如下:2016-10-20 11:08:46,即将 T 删除

解决方案:
  SpringBoot中使用Jackson2ObjectMapperBuilderCustomizer作为序列化,反序列化器,通过配置该类可以定制时期格式
代码如下:
@Configuration
public class LocalDateTimeSerializerConfig {
    @org.springframework.beans.factory.annotation.Value("${spring.jackson.date-format:yyyy-MM-dd HH:mm:ss}")
    private String pattern;

    @Bean
    public LocalDateTimeDeserializer localDateTimeDeserializer() {
        return new LocalDateTimeDeserializer(DateTimeFormatter.ofPattern(pattern));
    }

    @Bean
    public LocalDateTimeSerializer localDateTimeSerializer() {
        return new LocalDateTimeSerializer(DateTimeFormatter.ofPattern(pattern));
    }

    @Bean
    public Jackson2ObjectMapperBuilderCustomizer jackson2ObjectMapperBuilderCustomizer() {
        return builder -> builder.deserializerByType(LocalDateTime.class, localDateTimeDeserializer())
                .serializerByType(LocalDateTime.class, localDateTimeSerializer());
    }
}

 

定制LocalDateTime序列,把序列化格式

原文:https://www.cnblogs.com/m2492565210/p/15005349.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!