springboot2.0 fastjson 日期格式化不生效解決

網上有不少介紹,主要有兩種。html

1.在啓動類中注入beanjson

複製代碼
/**
   * 集成fastjson
   * 
   * @return
   */
  @Bean
  public HttpMessageConverters fastJsonHttpMessageConverters() {
    // 1. 須要定義一個converter轉換消息的對象
    FastJsonHttpMessageConverter fasHttpMessageConverter = new FastJsonHttpMessageConverter();
    // 2. 添加fastjson的配置信息,好比:是否須要格式化返回的json的數據
    FastJsonConfig fastJsonConfig = new FastJsonConfig();
    fastJsonConfig.setSerializerFeatures(SerializerFeature.PrettyFormat);
    // 3. 在converter中添加配置信息
    fasHttpMessageConverter.setFastJsonConfig(fastJsonConfig);
    HttpMessageConverter<?> converter = fasHttpMessageConverter;
    return new HttpMessageConverters(converter);
  }
複製代碼

2.繼承WebMvcConfigurerAdapter,重寫方法ide

WebMvcConfigurerAdapter 已通過期,改由 WebMvcConfigurationSupport 繼承ui

複製代碼
@Override
  public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
    super.configureMessageConverters(converters);
    // 1.須要先定義一個convert 轉換消息的對象
    FastJsonHttpMessageConverter fastConverter = new FastJsonHttpMessageConverter();
    // 2.添加fastJson的配置信息,好比,是否須要格式化返回的json數據
    FastJsonConfig fastJsonConfig = new FastJsonConfig();
    // 空值特別處理
    // WriteNullListAsEmpty 將Collection類型字段的字段空值輸出爲[]
    // WriteNullStringAsEmpty 將字符串類型字段的空值輸出爲空字符串 ""
    // WriteNullNumberAsZero 將數值類型字段的空值輸出爲0
    // WriteNullBooleanAsFalse 將Boolean類型字段的空值輸出爲false
    fastJsonConfig.setSerializerFeatures(SerializerFeature.PrettyFormat, SerializerFeature.WriteNullListAsEmpty,
        SerializerFeature.WriteNullStringAsEmpty);
    // 處理中文亂碼問題
    List<MediaType> fastMediaTypes = new ArrayList<>();
    fastMediaTypes.add(MediaType.APPLICATION_JSON_UTF8);
    fastConverter.setSupportedMediaTypes(fastMediaTypes);
    // 3.在convert中添加配置信息
    fastConverter.setFastJsonConfig(fastJsonConfig);
    // 4.將convert添加到converters當中
    converters.add(fastConverter);

  }
複製代碼

我一開始在啓動類用的是第一種方法,不成功,用第二種也是不成功 ,試了不少次,仍是失敗。spa

忽然想起一件事件,我用了攔截器,裏面有一個類繼承了WebMvcConfigurationSupport,是否是這個類搞得。code

因而把啓動類中集成代碼轉移到這個攔截器中,一切OK了。orm

 

 

攔截器中,只能有一個類集成WebMvcConfigurationSupport,出現多個類集成WebMvcConfigurationSupport時,配置是不生效的htm

 

巨坑對象

轉自:https://www.cnblogs.com/huiy/p/9035611.htmlblog

很是感謝,被折磨了很久

相關文章
相關標籤/搜索