SpringBoot自定义配置

@Bean
@Scope("singleton")
public ObjectMapper objectMapper(){
    return new ObjectMapper();
}

声明这个json处理会覆盖掉spring的,导致json解析失败
下面是使用自定义的fastjson

自定义springboot配置

    @Configuration
    @ConditionalOnClass({FastJsonHttpMessageConverter.class})
    @ConditionalOnProperty(
            name = {"spring.http.converters.preferred-json-mapper"},
            havingValue = "fastjson",
            matchIfMissing = true
    )
    static class FastJson2HttpMessageConverterConfiguration{
        @Bean
        @ConditionalOnMissingBean({FastJsonHttpMessageConverter.class})
        public FastJsonHttpMessageConverter fastJsonHttpMessageConverter() {
            FastJsonHttpMessageConverter converter = new FastJsonHttpMessageConverter();
            FastJsonConfig fastJsonConfig = new FastJsonConfig();
            fastJsonConfig.setSerializerFeatures(
                    SerializerFeature.WriteMapNullValue,
                    SerializerFeature.WriteNullNumberAsZero,
                    SerializerFeature.WriteNullListAsEmpty,
                    SerializerFeature.WriteNullStringAsEmpty,
                    SerializerFeature.WriteNullBooleanAsFalse,
                    SerializerFeature.WriteDateUseDateFormat,
                    SerializerFeature.PrettyFormat,
                    SerializerFeature.WriteClassName
            );
            converter.setFastJsonConfig(fastJsonConfig);
            return converter;
        }
    }

你可能感兴趣的:(SpringBoot自定义配置)