In your case,
I want to cache the response so that I can use the app even if it is offline
You need to implement a local database to save data on the user's device. and this is possible using the Room Database. This is how it works:
When Online
When Offline
Please check MVVM News App (retrofit) with local db