All Downloads are FREE. Search and download functionalities are using the official Maven repository.

fun.tusi.converter.LocalDateTimeSerializerConfig Maven / Gradle / Ivy

package fun.tusi.converter;

import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
import org.springframework.boot.autoconfigure.jackson.Jackson2ObjectMapperBuilderCustomizer;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;

/**
 * 响应参数中的 LocalDateTime 类型 转换为指定格式(yyyy-MM-dd HH:mm:ss)的 String 字符串
 * @author xy783
 */
@Configuration
public class LocalDateTimeSerializerConfig {

    @Value("${spring.jackson.date-format:yyyy-MM-dd HH:mm:ss}")
    private String pattern;

    /**
     * Jackson 序列化响应时的 LocalDateTime 格式化
     * @return
     */
    @ConditionalOnMissingBean
    @Bean
    public Jackson2ObjectMapperBuilderCustomizer jackson2ObjectMapperBuilderCustomizer() {
        return builder -> builder.serializerByType(LocalDateTime.class, localDateTimeSerializer());
    }

    /**
     * LocalDateTime 序列化
     * @return
     */
    @ConditionalOnMissingBean
    @Bean
    public LocalDateTimeSerializer localDateTimeSerializer() {
        return new LocalDateTimeSerializer(DateTimeFormatter.ofPattern(pattern));
    }


}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy