Dans mon Android, j'utilise Retrofit avec OkHttpClient avec la mise en cache activée pour accéder à certaines API. Certaines de nos API retournent parfois des données vides. Nous fournissons un bouton "Actualiser" dans l'application pour le client pour recharger les données d'une API spécifique.
Comment puis-je dire à OkHttpClient qu'une demande spécifique doit ignorer l'entrée mise en cache. Sinon, existe-t-il un mécanisme pour supprimer la réponse mise en cache correspondant à une seule demande?
Je vois la méthode Cache.remove (request) mais elle est marquée comme privée.
Comme Jake Wharton l'a suggéré dans issues , faites ceci pour ignorer le cache:
request.setCacheControl(CacheControl.FORCE_NETWORK);
@Headers("Cache-Control: no-cache")
sur la méthode devrait fonctionner. Si vous voulez le faire dynamiquement, vous pouvez ajouter un
@Header("Cache-Control")
Chaîne du paramètre cacheControl et passez null ou "no-cache"