Rextrofit中網絡請求空字段傳遞或過濾

寫在前面:前幾天做項目用到retrofit來做網絡請求,接觸這個框架也沒多久,就按照網站上的路子走,畢竟農村來的,網上的一些套路…–!,然後就掉坑裏了…(ps:我們後臺接口需要的參數只能少傳遞不能多傳遞,坑)

開始是這樣寫的:

Gson gson = new GsonBuilder()
            .setDateFormat("yyyy-MM-dd'T'HH:mm:ssZ")
            .serializeNulls()
            .create();

Retrofit retrofit = new Retrofit.Builder()
            .baseUrl(base_host_url)
            .client(httpClient)
            .addConverterFactory(GsonConverterFactory.create(gson))
            .addCallAdapterFactory(RxJavaCallAdapterFactory.createWithScheduler(Schedulers.io()))
            .build();

這樣就導致如果傳遞對象的話,對象裏面的所有字段如果沒有賦值的話就會爲null並且傳遞給服務器,我們服務器,咳咳,不給ignore,所以我就找啊找啊,到底什麼鬼爲什麼空字段轉成json的時候會有呢,大大大大最後在這了,看這裏:

Gson gson = new GsonBuilder()
            .setDateFormat("yyyy-MM-dd'T'HH:mm:ssZ")
            .serializeNulls()//就是我讓那些空字段保留着的!!!!!!
            .create();

那麼大的serializeNulls愣是一直沒看到,還是得走走❤吶!菜鳥的路還很長很長……..
給一個鳥人加個這個:一知半解的小站

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章