Я создаю приложение с retrofit2 для сетевых вызовов. Мне нужно вызвать несколько API в Single Activity. Теперь я столкнулся с ошибкой 403-forbidden. Если я вызываю только один API, он работает нормально. Но если я использую несколько вызовов API один за другим, я сталкиваюсь с этой ошибкой.Android - Retrofit2 - 403-Forbidden
Мой метод CreateService ниже:
public static <S> S createService(Class<S> serviceClass, final String authToken) {
if (authToken != null) {
httpClient.addInterceptor(new Interceptor() {
@Override
public Response intercept(Interceptor.Chain chain) throws IOException {
Request original = chain.request();
// Request customization: add request headers
Request.Builder requestBuilder = original.newBuilder()
.header("Authorization-Token", authToken)
.method(original.method(), original.body());
Request request = requestBuilder.build();
return chain.proceed(request);
}
});
}
// OkHttpClient client = httpClient.readTimeout(60, TimeUnit.SECONDS).connectTimeout(60, TimeUnit.SECONDS).build();
Dispatcher dispatcher = new Dispatcher(Executors.newFixedThreadPool(200));
dispatcher.setMaxRequests(200);
dispatcher.setMaxRequestsPerHost(1);
OkHttpClient okHttpClient = httpClient.dispatcher(dispatcher).connectionPool(new ConnectionPool(100, 30, TimeUnit.SECONDS)).build();
Retrofit retrofit = builder.client(okHttpClient).build();
return retrofit.create(serviceClass);
}
Что плохого в моем коде .. Как я могу справиться с этим?
есть ли зависимость от ожидания на первый вызов апи завершить до сбрасывая 2-ым? –
У всех API нет разных данных. Нет связи с этим – Amsheer