Ответ 1
Как Джейк Уортон предложил в issues сделать это, чтобы игнорировать кеш:
request.setCacheControl(CacheControl.FORCE_NETWORK);
В моем приложении для Android я использую Retrofit с OkHttpClient с включенным кэшированием для доступа к некоторым API. Некоторые из наших API иногда возвращают пустые данные. Мы предлагаем кнопку "Обновить" в приложении, чтобы клиент мог перезагрузить данные из определенного API.
Как сообщить OkHttpClient, что конкретный запрос должен игнорировать запись в кеше. В качестве альтернативы существует ли механизм для удаления кэшированного ответа, соответствующего одному запросу?
Я вижу метод Cache.remove(request), но он помечен как закрытый.
Как Джейк Уортон предложил в issues сделать это, чтобы игнорировать кеш:
request.setCacheControl(CacheControl.FORCE_NETWORK);
@Headers("Cache-Control: no-cache")
на метод должен работать. Если вы хотите сделать это динамически, вы можете добавить
@Header("Cache-Control")
Параметр String cacheControl и передать значение null или "no-cache"