对response进行解密,retrofit设置自定义的ConverterFactory,因客户端与服务端使用json通信,因此我们参考官方提供GsonConverterFactory编写
Retrofit retrofit = new Retrofit.Builder()
.client(getOkHttpClient())
.addConverterFactory(CustomGsonConverterFactory.create())
.baseUrl(BASE_URL)
.build();
class CustomGsonResponseConverter<T> implements Converter<ResponseBody, T> {
private final Gson gson;
private final TypeAdapter<T> adapter;
CustomGsonResponseConverter(Gson gson, TypeAdapter<T> adapter) {
this.gson = gson;
this.adapter = adapter;
}
@Override
public T convert(ResponseBody value) throws IOException {
try {
String originalBody = value.string();
// 解密
String body = EncryptUtils.decryptParams(o