FastJsonHttpMessageConvertersConfig.java 2.26 KB
//package cn.wisenergy.chnmuseum.party.conf;
//
//import com.alibaba.fastjson.JSON;
//import com.alibaba.fastjson.serializer.SerializerFeature;
//import com.alibaba.fastjson.support.config.FastJsonConfig;
//import com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter;
//import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
//import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
//import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
//import org.springframework.context.annotation.Bean;
//import org.springframework.context.annotation.Configuration;
//import org.springframework.http.MediaType;
//
//import java.util.ArrayList;
//import java.util.List;
//
//@Configuration
//@ConditionalOnClass({JSON.class})
//public class FastJsonHttpMessageConvertersConfig {
//
//    @Configuration
//    @ConditionalOnClass({FastJsonHttpMessageConverter.class})
//    @ConditionalOnProperty(name = {
//            "spring.mvc.converters.preferred-json-mapper"}, havingValue = "fastjson", matchIfMissing = true)
//    protected static class FastJson2HttpMessageConverterConfiguration {
//        protected FastJson2HttpMessageConverterConfiguration() {
//        }
//
//        @Bean
//        @ConditionalOnMissingBean({FastJsonHttpMessageConverter.class})
//        public FastJsonHttpMessageConverter fastJsonHttpMessageConverter() {
//            FastJsonHttpMessageConverter converter = new FastJsonHttpMessageConverter();
//
//            FastJsonConfig fastJsonConfig = new FastJsonConfig();
//            fastJsonConfig.setSerializerFeatures(
//                    SerializerFeature.PrettyFormat,
//                    SerializerFeature.WriteMapNullValue,
//                    SerializerFeature.DisableCircularReferenceDetect
//            );
//            // 全局时间配置
//            fastJsonConfig.setDateFormat("yyyy-MM-dd");
//            // 处理中文乱码问题
//            List<MediaType> mediaTypes = new ArrayList<>();
//            mediaTypes.add(MediaType.APPLICATION_JSON);
//            mediaTypes.add(MediaType.TEXT_PLAIN);
//            converter.setSupportedMediaTypes(mediaTypes);
//            converter.setFastJsonConfig(fastJsonConfig);
//            return converter;
//        }
//    }
//
//}