Androidアプリケーションで、キャッシュを有効にしてOkHttpClientでRetrofitを使用し、一部のAPIにアクセスしています。一部のAPIは空のデータを返すことがあります。アプリの[更新]ボタンをクライアントに提供します特定のAPIからデータをリロードします。
特定のリクエストでキャッシュされたエントリを無視するようにOkHttpClientに指示するにはどうすればよいですか。または、単一の要求に対応するキャッシュされた応答を削除するメカニズムはありますか?
Cache.remove(request)メソッドが見つかりましたが、プライベートとしてマークされています。
Jake Whartonが issues で提案したように、これを実行してキャッシュを無視します。
request.setCacheControl(CacheControl.FORCE_NETWORK);
@Headers("Cache-Control: no-cache")
メソッドで動作するはずです。動的に実行したい場合は、
@Header("Cache-Control")
文字列のcacheControlパラメータとnullまたは「no-cache」を渡す