欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Spring?boot詳解fastjson過濾字段為null值如何解決

 更新時(shí)間:2022年07月15日 08:45:40   作者:攻城獅白玉  
這篇文章主要介紹了解決Spring?boot中fastjson過濾字段為null值的問題,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

前言

最近因項(xiàng)目需要,從零開始重新搭建了一套框架給同事們用。在前后端對接的時(shí)候,發(fā)現(xiàn)后端提供的字段缺少了很多,即實(shí)體類為null值的字段,全部被過濾了。經(jīng)排查,是fastjson的鍋。

因?yàn)閒astjson默認(rèn)就把value為null的值給過濾掉,不輸出空值。

俗話說,當(dāng)你遇見問題時(shí),找到問題的原因,你的問題就已經(jīng)解決了一半。

環(huán)境

jdk1.8

maven:3.6.3

spring boot:2.2.13-RELEASE

fastjson:1.28.0

<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>fastjson</artifactId>
    <version>1.2.80</version>
</dependency>

解決方法

解決方法也很簡單,只需要加上一個(gè)配置文件即可,對于fastjson進(jìn)行注解配置。

 

 其中,最主要的就是配置通過FastJsonConfig的setSerializerFeatures方法來配置fastJson的功能

com.alibaba.fastjson.support.config.FastJsonConfig#setSerializerFeatures

/**
 * 返回值過濾器
 * 
 * @Author: 攻城獅白玉 https://blog.csdn.net/zhh763984017
 * @Date: 2022/7/09 18:05
 */
@Configuration
public class FastjsonConverterConfig {
    @Bean
    public HttpMessageConverters customConverters() {
        // 定義一個(gè)轉(zhuǎn)換消息的對象
        FastJsonHttpMessageConverter fastConverter = new FastJsonHttpMessageConverter();
        // 添加fastjson的配置信息 比如 :是否要格式化返回的json數(shù)據(jù)
        FastJsonConfig fastJsonConfig = new FastJsonConfig();
        // 這里就是核心代碼了,WriteMapNullValue把空的值的key也返回
        fastJsonConfig.setSerializerFeatures(SerializerFeature.WriteMapNullValue);
        List<MediaType> fastMediaTypes = new ArrayList<MediaType>();
        // 處理中文亂碼問題
        fastJsonConfig.setCharset(Charset.forName("UTF-8"));
        fastMediaTypes.add(MediaType.APPLICATION_JSON_UTF8);
        fastConverter.setSupportedMediaTypes(fastMediaTypes);
        // 在轉(zhuǎn)換器中添加配置信息
        fastConverter.setFastJsonConfig(fastJsonConfig);
        StringHttpMessageConverter stringConverter = new StringHttpMessageConverter();
        stringConverter.setDefaultCharset(Charset.forName("UTF-8"));
        stringConverter.setSupportedMediaTypes(fastMediaTypes);
        // 將轉(zhuǎn)換器添加到converters中
        return new HttpMessageConverters(stringConverter,fastConverter);
    }
}

后記

從零開始搭一個(gè)新的框架出來真的是不容易。

盡管原來的框架依賴是多了點(diǎn),重了點(diǎn),但是舊有配置好的東西也多,是挺香的哇。

不過重新搭建新的框架,也讓我重新審視了許多知識(shí),對于框架的搭建使用上,該用奧卡姆剃刀的時(shí)候就得用奧卡姆剃刀,保持框架盡可能的干凈。

到此這篇關(guān)于Spring boot詳解fastjson過濾字段為null值如何解決的文章就介紹到這了,更多相關(guān)Spring boot fastjson過濾字段內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Java?synchornized與ReentrantLock處理并發(fā)出現(xiàn)的錯(cuò)誤

    Java?synchornized與ReentrantLock處理并發(fā)出現(xiàn)的錯(cuò)誤

    synchronized機(jī)制提供了對每個(gè)對象相關(guān)的隱式監(jiān)視器鎖,并強(qiáng)制所有鎖的獲取和釋放都必須在同一個(gè)塊結(jié)構(gòu)中。當(dāng)獲取了多個(gè)鎖時(shí),必須以相反的順序釋放。即synchronized對于鎖的釋放是隱式的
    2023-01-01
  • Java反射使用的詳細(xì)介紹(最新推薦)

    Java反射使用的詳細(xì)介紹(最新推薦)

    這篇文章主要介紹了Java反射使用的詳細(xì)介紹,反射的第一步都是先得到編譯后的Class類對象,然后就可以得到Class的全部成分,本文結(jié)合實(shí)例代碼詳細(xì)講解,需要的朋友可以參考下
    2023-02-02
  • Java動(dòng)態(tài)規(guī)劃之硬幣找零問題實(shí)現(xiàn)代碼

    Java動(dòng)態(tài)規(guī)劃之硬幣找零問題實(shí)現(xiàn)代碼

    這篇文章主要介紹了Java動(dòng)態(tài)規(guī)劃之硬幣找零問題實(shí)現(xiàn)代碼,具有一定參考價(jià)值,需要的朋友可以了解下。
    2017-11-11
  • Java實(shí)現(xiàn)的簡單圖片上傳功能示例

    Java實(shí)現(xiàn)的簡單圖片上傳功能示例

    這篇文章主要介紹了Java實(shí)現(xiàn)的簡單圖片上傳功能,結(jié)合實(shí)例形式分析了java圖片傳輸相關(guān)的檢驗(yàn)、傳輸、接收等相關(guān)操作技巧,需要的朋友可以參考下
    2017-09-09
  • springboot多環(huán)境配置方案(不用5分鐘)

    springboot多環(huán)境配置方案(不用5分鐘)

    這篇文章主要介紹了springboot多環(huán)境配置方案(不用5分鐘),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-01-01
  • Java定位問題線程解析

    Java定位問題線程解析

    這篇文章主要介紹了Java定位問題線程,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-11-11
  • Java內(nèi)部類之間的閉包和回調(diào)詳解

    Java內(nèi)部類之間的閉包和回調(diào)詳解

    相信閉包和回調(diào)對每位學(xué)習(xí)Java的人來說都不陌生,那么今天小編和大家分享一篇關(guān)于Java內(nèi)部類之間的閉包和回調(diào),有需要的可以參考借鑒。
    2016-09-09
  • Java深入分析講解反射機(jī)制

    Java深入分析講解反射機(jī)制

    反射是框架的靈魂,Java框架底層都是用反射機(jī)制+xml配置等來實(shí)現(xiàn)的,本文將通過示例詳細(xì)講解Java中的反射機(jī)制,感興趣的小伙伴可以跟隨小編學(xué)習(xí)一下
    2022-06-06
  • Java中springboot搭建html的操作代碼

    Java中springboot搭建html的操作代碼

    這篇文章主要介紹了Java中springboot搭建html的相關(guān)操作,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-08-08
  • Java FileWriter輸出換行操作

    Java FileWriter輸出換行操作

    這篇文章主要介紹了Java FileWriter輸出換行操作,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-07-07

最新評(píng)論