lirl 3 年之前
父節點
當前提交
51c174277e
共有 1 個文件被更改,包括 37 次插入0 次删除
  1. 37 0
      src/main/java/com/steerinfo/config/FastJsonConverterConfig.java

+ 37 - 0
src/main/java/com/steerinfo/config/FastJsonConverterConfig.java

@@ -0,0 +1,37 @@
+package com.steerinfo.config;
+
+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.http.HttpMessageConverters;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.http.MediaType;
+import org.springframework.http.converter.HttpMessageConverter;
+
+import java.util.Arrays;
+
+@Configuration
+public class FastJsonConverterConfig {
+    @Bean
+    public HttpMessageConverters fastJsonHttpMessageConverters() {
+        FastJsonHttpMessageConverter fastConverter = new FastJsonHttpMessageConverter();
+        FastJsonConfig fastJsonConfig = new FastJsonConfig();
+        fastJsonConfig.setSerializerFeatures(
+                SerializerFeature.WriteMapNullValue,
+                SerializerFeature.WriteNullListAsEmpty,
+                SerializerFeature.WriteNullStringAsEmpty,
+                SerializerFeature.WriteNullBooleanAsFalse
+//                SerializerFeature.WriteDateUseDateFormat
+        );
+        fastConverter.setFastJsonConfig(fastJsonConfig);
+
+        //全局指定了日期格式
+        fastJsonConfig.setDateFormat("yyyy-MM-dd HH:mm:ss");
+
+        //该设置目的,为了兼容jackson
+        fastConverter.setSupportedMediaTypes(Arrays.asList(MediaType.APPLICATION_JSON, MediaType.APPLICATION_JSON_UTF8, MediaType.APPLICATION_OCTET_STREAM));
+        HttpMessageConverter<?> converter = fastConverter;
+        return new HttpMessageConverters(converter);
+    }
+}