Today I Learn

[TIL] Kotlin - Retrofit에서 Cache 기능 제거하기

SeungYong.Lee 2023. 4. 11. 11:06
반응형

네트워크 캐시 역할 : 파일 시스템에 대한 HTTP 및 HTTPS 응답을 캐시하여 재사용할 수 있으므로 시간과 대역폭이 절약됩니다.

 

하지만, 간혹 서버의 변경 사항을 즉각적으로 반영해야할 때, 오히려 걸림돌이 되는 경우가 있다.

 

builder.addInterceptor(Interceptor {
    val request = it.request().newBuilder().cacheControl(CacheControl.Builder().noCache().build())

Request 빌더에 캐시 기능 없음을 명시하거나

 

 

interface TestApi {
    @Headers("Cache-Control: no-cache")
    @GET("test/test.json")
    fun checkTest(): Call<TestResult>
}

인터페이스에 지정된 규약의 헤더를 추가해도 된다.

반응형