zoukankan      html  css  js  c++  java
  • SpringBoot的SpringMVC使用FastJson依赖时LocalDateTime全局配置序列化格式

    如果SpringBoot没有配置maven的json依赖,默认使用JacksonJson,那么你可以像网上资料介绍的那样进行配置,如下:

    @Configuration
    public class WebMvcConfig {
    
        @Bean
        public Converter<String, LocalDate> localDateConverter() {
            return new Converter<String, LocalDate>() {
                @Override
                public LocalDate convert(String source) {
                    return DateUtil.parseDate(source);
                }
            };
        }
    
        @Bean
        public Converter<String, LocalDateTime> localDateTimeConverter() {
            return new Converter<String, LocalDateTime>() {
                @Override
                public LocalDateTime convert(String source) {
                    return DateUtil.parseDateTime(source);
                }
            };
        }
    }

    如果你在maven中有配置FastJson,Spring的加载机制会优先使用手动配置的FastJson而不是JacksonJson。

    但是由于FastJson对SpringMVC的兼容不好,上面的方式并不能让自定义格式全局有生效,经过debug代码发现,需要使用下面的方式配置,才能全局生效:

    @Configuration
    public class WebMvcConfig implements WebMvcConfigurer {
    
        @Override
        public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
            FastJsonHttpMessageConverter fastJsonHttpMessageConverter = new FastJsonHttpMessageConverter();
            FastJsonConfig fastJsonConfig = new FastJsonConfig();
            fastJsonConfig.setSerializerFeatures(
                    SerializerFeature.PrettyFormat,
                    SerializerFeature.WriteMapNullValue,
                    SerializerFeature.DisableCircularReferenceDetect
            );
            fastJsonConfig.setDateFormat("yyyy-MM-dd HH:mm:ss");
            fastJsonHttpMessageConverter.setFastJsonConfig(fastJsonConfig);
            converters.add(0, fastJsonHttpMessageConverter);
        }
    }
  • 相关阅读:
    poj 1743 Musical Theme 后缀数组
    poj 1743 Musical Theme 后缀数组
    cf 432D Prefixes and Suffixes kmp
    cf 432D Prefixes and Suffixes kmp
    hdu Data Structure? 线段树
    关于position和anchorPoint之间的关系
    ios POST 信息
    CALayers的代码示例
    CALayers详解
    ios中得sqlite使用基础
  • 原文地址:https://www.cnblogs.com/chenkeyu/p/14373441.html
Copyright © 2011-2022 走看看