Im using Retrofit2 & OKHTTP3 для REST API в моем приложении для Android. Мое требование - я должен кэшировать запросы на использование приложения в автономном режиме. Дело в том, что я способен кэшировать запросы. Но когда пользователь снова подключается к сети, данные должны извлекаться только из бэкэнд, он не должен обслуживать кешированный ответ. Как я могу это достичь. Ниже моя сеть перехватчикКэширование сетевых запросов с Okhttp3.0 и retrofit2
Сеть перехватчик
public class CachingInterceptor implements Interceptor {
@Override
public Response intercept(Chain chain) throws IOException {
Request request = chain.request();
if (Util.isOnline()) {
request = request.newBuilder()
.header("Cache-Control", "only-if-cached")
.build();
} else {
request = request.newBuilder()
.header("Cache-Control", "public, max-stale=2419200")
.build();
}
Response response= chain.proceed(request);
return response.newBuilder()
.header("Cache-Control", "max-age=86400")
.build();
}
}