package com.wuxiaolong.wewin.retrofit; import retrofit2.Call; import retrofit2.Callback; import retrofit2.Response; /** * Created by WuXiaolong * on 2016/9/22. * github:https://github.com/WuXiaolong/ * weibo:http://weibo.com/u/2175011601 * 微信公众号:吴小龙同学 * 个人博客:http://wuxiaolong.me/ */ public abstract class RetrofitCallback<M> implements Callback<M> { public abstract void onSuccess(M model); public abstract void onFailure(int code, String msg); public abstract void onThrowable(Throwable t); public abstract void onFinish(); @Override public void onResponse(Call<M> call, Response<M> response) { if (response.isSuccessful()) { onSuccess(response.body()); } else { onFailure(response.code(), response.errorBody().toString()); } onFinish(); } @Override public void onFailure(Call<M> call, Throwable t) { onThrowable(t); onFinish(); } }