3
public abstract class RetrofitBaseCallBack<T> implements Callback<T> {
@Override
public void onResponse(Call<T> call, Response<T> response) {
int responseCode = response.code();
if (responseCode == Constants.ServerResponse.Code.STATUS_OK
|| responseCode == Constants.ServerResponse.Code.STATUS_CREATED_SUCCESS
|| responseCode == Constants.ServerResponse.Code.STATUS_IN_PROGRESS
|| responseCode == Constants.ServerResponse.Code.STATUS_NO_CONTENT
|| responseCode == Constants.ServerResponse.Code.STATUS_ACCEPTED) {
// i want to navigate to onResponseSuccess when "success":true
onResponseSuccess(call, response);
} else {
//i want to navigate to onResponseFailure when "success":false
onErrorResponse(call, response);
}
}
}
@Override
public void onFailure(Call<T> call, Throwable t) {
onRetrofitBaseCallBackFailure(call, t);
}
public abstract void onResponseSuccess(Call<T> call, Response<T> response);
public abstract void onResponseFailure(Call<T> call, Response response, String message);
public abstract void onRetrofitBaseCallBackFailure(Call<T> call, Throwable t);
}
我已经通过扩展改造回调来创建类。我想解析字符串的响应。在我的例子中,每个响应都会得到这种类型的JSON对象。在成功响应的情况下:如何将改造响应正文转换为JsonObject
{
"success": true,
"abc": {
"a": 0.15,
"b": "Better Exchange Rate",
}
}
在失败响应的情况下
{
"success": false,
"abc": {
"a": 0.15,
"b": "Better Exchange Rate",
}
}
我怎么能转换响应主体为JSONObject的,这样我可以检查现场“成功”:和浏览相应的方法即onResponseSuccess(呼叫呼叫,响应响应)成功的情况下,onResponseFailure(呼叫呼叫,响应响应,字符串消息)在发生故障的情况下