Rextrofit中网络请求空字段传递或过滤
Posted 猫叔聊技术
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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愣是一直没看到,还是得走走❤呐!菜鸟的路还很长很长…
以上是关于Rextrofit中网络请求空字段传递或过滤的主要内容,如果未能解决你的问题,请参考以下文章