通常情况下,后台服务器返回的数据都是json格式,所以在我们使用Retrofit2 的时候会添加addConverterFactory(GsonConverterFactory.create()),来方便解析服务器返回的数据,
new Retrofit.Builder()
.client(client)
.baseUrl(url)
.addConverterFactory(GsonConverterFactory.create(gson))
.addCallAdapterFactory(RxJava2CallAdapterFactory.create())
.build();
然而,在我们以Content-type:application/json 来post String参数时,会发现(后台开发人员反馈)我们传过去的String会多附带一个双引号,导致的原因是:
1.retrofit没有内置String的Converter;
2.注册了GsonConverterFactory,而GsonConverterFactory是不会判断能不能处理该类型的,全部转成json,而String在json里就是"String"的形式(重点)
提供一种解决方案:
1.添加一个标准转换器 converter-scalars 在GsonConverterFactory之前 代码如下
new Retrofit.Builder()
.client(client)
.baseUrl(url)
.addConverterFactory(