네트워크 통화를 위해 Retrofit 및 OkHttp 클라이언트를 사용하고 있습니다. 내 서버는 Etag 캐싱을 지원하며 캐시를 okHttp
클라이언트에 추가했습니다. 내가 캐시하지 않는 일부 API가 있습니다OkHttp 캐싱에서 API 제외
이것은 내가 캐싱에서 몇개의 API를 무시할 수 있습니까 okHttpClient
설정
OkHttpClient okHttpClient(Context context,
HttpLoggingInterceptor loggingInterceptor,Cache okHttpCache) {
final OkHttpClient.Builder builder = new OkHttpClient.Builder()
.addInterceptor(loggingInterceptor)
.cache(okHttpCache)
return builder.build();
}
Cache cache(Context context) {
return new Cache(new File(context.getCacheDir(), "cache"),10 * 1024 * 1024);
}
입니까? URL이 캐시
public Iterator<String> urls() throws IOException {
hasNext();
next();
remove();
}
당신은 간단한 사용이 관심하는 API에 대해 확인하고 그것을 무시하는 수의 요청에 대한
를 잡으러 함께 몇 OkHttp 사용 개조, 현재 내 코드에 표시된대로 okHttp 설정에 캐시를 추가했습니다. 그것은 모든 API에 대한 캐시를 사용할 수 있습니까? 그리고 내가 원하지 않는 것은'@Headers ("Cahce-Contol : no-cache")'로 대체 할 수 있습니까? – Jrd
백엔드 어플리케이션 핸들링 캐시 정책이 요청 헤더를 통해 전달 된 경우 그렇다. 서버가이를 지원하지 않으면 요청 인터셉터 구현을 기반으로하는 해결 방법이 있습니다. –
당신의 서버가 Etag 캐싱 메커니즘을 지원한다면, 우리는이 설정을 제대로 할 수 있습니까? – Jrd