簡體   English   中英

自定義錯誤處理CallAdapter for Retofit2 + RxJava2

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM