嗨,我正在使用改造,我的回调如下
@Override
public void onResponse(final Call<T> call, Response<T> response) {
if (response.isSuccessful()) {
passing this to my view
} else {
// as this failed other then 200 retroCallback.onFailure(call, new Throwable(""));
}
}
@Override
public void onFailure(Call<T> call, Throwable t) {
retroCallback.onFailure(call, t);
}
所以在此我如何传递我的 ErrorBean 而不是 Throwable 无论如何我们可以在 onFailure 中传递自定义模型?当我的服务器以某种格式给我响应时,我想传递该格式..我正在使用改造 2.1.0
最佳答案
您可以子类化 Throwable 并使用组合传递附加对象。
public class ErrorBean extends Throwable {
public ErrorPayload payload = null;
public ErrorBean(ErrorPayload payload) {
this.payload = payload;
}
}
然后,在 onError 中:
@Override
public void onFailure(Call<T> call, Throwable t) {
retroCallback.onFailure(call, t);
if (t instanceof ErrorBean) {
// do your stuff here
((ErrorBean)t).payload.text;
}
}
关于android - Retrofit 在错误回调中添加自定义对象。失败时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39250837/