服务器在成功的情况下发送响应(代码2xx):
{
"user":"User",
"age":16
}
如果失败(4xx),则会在errorBody
内部发送以下Json :
{
"errorMessage":"Server is not working",
"action":{
...
}
}
我正在使用Retrofit v2.4.0和RxJava2。
如何为我的案例创建自定义CallAdapter
?我已经阅读了Square的ErrorHandlingAdapter,但是它没有RxJava2
答案 0 :(得分:0)
强烈建议您使用相同的对象,因为可以进行翻新,您可以使用通用模型进行
public class GenericResponseModel {
public int statusCode;
public String message;
public Object data;
}
,然后解析为onNetworkSuccess和onNetworkError中的特定模型,如下所示:
HomeModel homeModel = new Gson().fromJson(new Gson().toJson(genericResponseModel.data), HomeModel[].class);
使用这种方法,您可以制作BaseModel,也可以处理不同的响应。我希望这是您找到的答案。
您可以删除statusCode,如果没有响应则显示消息