When you use Header annotations they are static for every call, with an interceptor you can change it on runtime and resend the same request without the need to call again the request.

They are completely different approachments, for example, if you want to lock the user Token out, every response will get a 401 code that is “Unauthorized” to refresh the token, without the user notice, you need to do it with a interceptor cause the token Header will never be static

Google Developer Expert on Android | Doing Kotlin | Making Software 24/7 | Kotlin Multiplatform | She/Her | Opinions are my own, and not my employer

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store