public class StringConverterFactory extends Converter.Factory {
public static StringConverterFactory create() {
return new StringConverterFactory();
}
public Converter<ResponseBody, ?> responseBodyConverter(Type type, Annotation[] annotations,
Retrofit retrofit) {
return new ConfigurationServiceConverter();
}
final class ConfigurationServiceConverter implements Converter<ResponseBody, String> {
@Override
public String convert(ResponseBody value) throws IOException {
BufferedReader r = new BufferedReader(new InputStreamReader(value.byteStream()));
StringBuilder total = new StringBuilder();
String line;
while ((line = r.readLine()) != null) {
total.append(line);
}
return total.toString();
}
}
}
使用:
- Retrofit retrofit = new Retrofit.Builder().baseUrl(BaseUrl.BaseUrl)
- // .addConverterFactory(GsonConverterFactory.create())
- .addConverterFactory(StringConverterFactory.create())
- .addCallAdapterFactory(RxJava2CallAdapterFactory.create())
- .build();