0
改造捕獲特定響應代碼,我有40多個HTTP調用改造REST客戶端界面。我像這樣初始化我的RestClient:的Android,爲所有請求
public class RestClient {
private static final String BASE_URL = "http://example.com/";
private static final int TIMEOUT_IN_SECONDS = 30;
private static OkHttpClient okHttpClient = new OkHttpClient.Builder()
.addInterceptor(getInterceptor())
.connectTimeout(TIMEOUT_IN_SECONDS, TimeUnit.SECONDS)
.readTimeout(TIMEOUT_IN_SECONDS, TimeUnit.SECONDS)
.writeTimeout(TIMEOUT_IN_SECONDS, TimeUnit.SECONDS)
.build();
private static Retrofit retrofit = new Retrofit.Builder()
.baseUrl(BASE_URL)
.client(okHttpClient)
.addConverterFactory(GsonConverterFactory.create())
.addCallAdapterFactory(RxJavaCallAdapterFactory.create())
.build();
private RestClient() {
}
private static HttpLoggingInterceptor getInterceptor() {
HttpLoggingInterceptor interceptor = new HttpLoggingInterceptor();
interceptor.setLevel(BuildConfig.DEBUG ? HttpLoggingInterceptor.Level.BODY
: HttpLoggingInterceptor.Level.NONE);
return interceptor;
}
public static MyService request() {
return retrofit.create(MyService.class);
}
}
所有請求,除了授權,都需要特殊令牌。當此標記過期時,REST API將以403
代碼錯誤進行響應。
我不能添加檢查來自我的每個API調用的驗證碼的響應,因爲在我的應用程序超過100所API調用。
是否有可能以某種方式在我的RestClient
類中捕獲403 response code
以便我可以再次打開授權活動?