zoukankan      html  css  js  c++  java
  • JacksonConfig

    package org.linlinjava.litemall.core.config;
    
    import com.fasterxml.jackson.annotation.JsonInclude;
    import com.fasterxml.jackson.databind.SerializationFeature;
    import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateDeserializer;
    import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateTimeDeserializer;
    import com.fasterxml.jackson.datatype.jsr310.deser.LocalTimeDeserializer;
    import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateSerializer;
    import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer;
    import com.fasterxml.jackson.datatype.jsr310.ser.LocalTimeSerializer;
    import org.springframework.boot.autoconfigure.jackson.Jackson2ObjectMapperBuilderCustomizer;
    import org.springframework.context.annotation.Bean;
    import org.springframework.context.annotation.Configuration;
    import org.springframework.core.Ordered;
    import org.springframework.core.annotation.Order;
    import org.springframework.http.converter.json.Jackson2ObjectMapperBuilder;
    
    import java.time.LocalDate;
    import java.time.LocalDateTime;
    import java.time.LocalTime;
    import java.time.format.DateTimeFormatter;
    
    @Configuration
    public class JacksonConfig {
    
        @Bean
        @Order(Ordered.HIGHEST_PRECEDENCE)
        public Jackson2ObjectMapperBuilderCustomizer customJackson() {
            return new Jackson2ObjectMapperBuilderCustomizer() {
                @Override
                public void customize(Jackson2ObjectMapperBuilder builder) {
                    builder.serializerByType(LocalDateTime.class,
                            new LocalDateTimeSerializer(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
                    builder.serializerByType(LocalDate.class,
                            new LocalDateSerializer(DateTimeFormatter.ofPattern("yyyy-MM-dd")));
                    builder.serializerByType(LocalTime.class,
                            new LocalTimeSerializer(DateTimeFormatter.ofPattern("HH:mm:ss")));
                    builder.deserializerByType(LocalDateTime.class,
                            new LocalDateTimeDeserializer(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
                    builder.deserializerByType(LocalDate.class,
                            new LocalDateDeserializer(DateTimeFormatter.ofPattern("yyyy-MM-dd")));
                    builder.deserializerByType(LocalTime.class,
                            new LocalTimeDeserializer(DateTimeFormatter.ofPattern("HH:mm:ss")));
                    builder.serializationInclusion(JsonInclude.Include.NON_NULL);
                    builder.failOnUnknownProperties(false);
                    builder.featuresToDisable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS);
                }
            };
        }
    }
  • 相关阅读:
    高速C/C++编译工具(ccache)
    CentOS7关闭自动下载更新
    GCC中同时使用动态和静态库链接的编译
    porting libiconv to android(arm)——libiconv-1.14.tar.gz
    编译cBPM-android-19—CodeBlocks—CentOS7— ndk10—编译libiconv和xerces-c
    Trying to build Xerces-C++ for Android
    计算机安全技术(第二版)第2版
    为android提供的部分第三方C/C++静态库—libsqlite—libuuid—libevent_static
    error: undefined reference to '__aeabi_uidiv'
    编译cBPM-android—CodeBlocks(全局、局部)参数设置—CentOS 7— android-ndk
  • 原文地址:https://www.cnblogs.com/tonggc1668/p/11306153.html
Copyright © 2011-2022 走看看