프로그래밍/Android

[안드로이드] 특정 시간 내 중복 Request를 막는 OkHTTP Interceptor 구현하기

Lou Park 2023. 3. 28. 15:15

특정시간 안에 보낸 동일한 Request에 대해서 서버에 요청하지 않고, 이전에 받은 응답값을 그대로 내려주는 Interceptor를 구현해보았다. Response Body를 어떻게 재사용할 것인가 고민을 많이 했는데, ByteArray 형태로 읽어두고 중복된 요청일때 ResponseBody로 만들어주는 방법을 사용해보았다.

 

이렇게 짧은 시간안에 연속적으로 요청을하더라도, 500ms 이후에만 새로 요청을 하게된다.

개발중인 앱의 Request Method가 전부 POST이기때문에, Request body까지 읽어서 hashing을 하고있는데, 그럴 필요까지 없으신분들은 Request URL 자체를 hash 값으로 잡아도 무방할 것이다.

혹시 유용했다면 Star를~!