Я борюсь с одной из проблем обслуживания, которая занимает почти 10 минут, чтобы отразить обновленные результаты. На самом деле, я использую API типа Get, структура службы выглядит так:
www.abc.net / сор-JSON / шр / v2 / сообщения? Категория = 192 & страница = 1 & per_page = 2
Когда я пытаюсь вызвать сервис из браузера, он показывает обновленную информацию, но когда я пытаюсь вызвать тот же сервис из моего приложения для Android, используя модификацию, он задерживает обновленный ответ почти на 10 минут.
Здесь - код, упомянутый в моем последнем вопросе о том же самом:
public class ApiClient {
private static Retrofit retrofit = null;
public static Retrofit getClient() {
HttpLoggingInterceptor interceptor = new HttpLoggingInterceptor();
interceptor.setLevel(HttpLoggingInterceptor.Level.BODY);
OkHttpClient.Builder httpClient = new OkHttpClient.Builder();
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()
.cacheControl(CacheControl.FORCE_NETWORK)
.addHeader("Cache-Control", "no-cache")
.addHeader("Cache-Control", "no-store");
Request request = requestBuilder.build();
return chain.proceed(request);
}
});
OkHttpClient client = httpClient.build();
retrofit = new Retrofit.Builder()
.baseUrl(ApiInterface.SERVICE_ENDPOINT)
.addConverterFactory(GsonConverterFactory.create())
.client(client)
.build();
return retrofit;
}
}
Мой API-интерфейс
public interface ApiInterface {
String SERVICE_ENDPOINT = "https://example.com/wp-json/wp/v2/";
@GET("posts")
Call<ArrayList<CategoryResponse>> fetchlatestposts(@Query("bloglist")
int bloglist);
}
В чем может быть проблема, если вы не получите ответ об обновлениях в режиме реального времени, хотя после 10-15 минут паузы он даст обновленные результаты.