[英]Custom error handling CallAdapter for Retofit2 + RxJava2
服務器成功發送響應(代碼2xx):
{
"user":"User",
"age":16
}
並且如果失敗(4xx), 則會在errorBody
內部發送以下Json:
{
"errorMessage":"Server is not working",
"action":{
...
}
}
我正在使用Retrofit v2.4.0和RxJava2。
如何為我的案例創建自定義CallAdapter
? 我已經閱讀了Square的ErrorHandlingAdapter,但是它沒有RxJava2
強烈建議您使用同一對象,因為可能會進行改造,您可以使用通用模型來執行此操作
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,如果沒有響應則顯示消息
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.