0
ユーザーが私のアプリで禁止されている場合は、私のサーバーは、次の応答を返します:レトロフィット要求がサーバーに行われるたび全回答を全世界で聞く?
return response()->json([
'banned' => 'You are banned.'
], 403);
だから、私はケース内のすべての応答をチェックし、読みグローバルできるようにする必要がありますユーザーは禁止されています。ここで
は、レトロフィットを扱う私のApiClient.java
次のとおりです。それは、ユーザが禁止されているかどうかを確認するために私のサーバーからのすべての応答をチェックするように
public class ApiClient {
public static final String API_URL = "http://www.website.com/api/";
private static int defaultTimeout = 30;
private static OkHttpClient.Builder httpClient =
new OkHttpClient.Builder();
private static Gson gson = new GsonBuilder()
.setLenient()
.create();
private static Retrofit.Builder builder =
new Retrofit.Builder()
.addConverterFactory(ScalarsConverterFactory.create())
.addConverterFactory(new NullOnEmptyConverterFactory())
.addConverterFactory(GsonConverterFactory.create(gson))
.baseUrl(API_URL);
private static Retrofit retrofit = builder.build();
public static Retrofit getRetrofit() {
return retrofit;
}
public static <S> S createService(Class<S> serviceClass, Context context) {
return createService(serviceClass, context, null);
}
public static <S> S createService(Class<S> serviceClass, Context context, final String authToken) {
return createService(serviceClass, context, authToken, defaultTimeout);
}
public static <S> S createService(Class<S> serviceClass, Context context, final String authToken, int timeout) {
if (authToken != null) {
TokenInterceptor tokenInterceptor = new TokenInterceptor(authToken);
if (!httpClient.interceptors().contains(tokenInterceptor)) {
httpClient.addInterceptor(tokenInterceptor);
}
TokenAuthenticator tokenAuthenticator = new TokenAuthenticator(context, authToken);
httpClient.authenticator(tokenAuthenticator);
}
httpClient.connectTimeout(timeout, TimeUnit.SECONDS);
httpClient.writeTimeout(timeout, TimeUnit.SECONDS);
httpClient.readTimeout(timeout, TimeUnit.SECONDS);
builder.client(httpClient.build());
retrofit = builder.build();
return retrofit.create(serviceClass);
}
}
は、どのように私はこれを変更することができますか?この場合、インターセプタを作成しますか?どうやって?
はい、これは正しい方法です。 –
'新しいIOExceptionをスローする 'は、私が逃したものです。ありがとう! – user456123