Вызов веб-сервиса из приложения Android занимает 10 минут, чтобы отразить последние результаты. - PullRequest
0 голосов
/ 11 ноября 2018

Я борюсь с одной из проблем обслуживания, которая занимает почти 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 минут паузы он даст обновленные результаты.

1 Ответ

0 голосов
/ 27 ноября 2018

Проблема была со стороны сервера, WordPress включил кеш, который вызывал проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...