同じurlと異なるacceptヘッダで要求を行うと、okhttp cacheの前の応答が返されます。OkHttpクライアントはAcceptヘッダを尊重しません
これは、アプリケーション/ jsonデータに対して最初に要求が行われたことを意味し、2番目の要求はapplication/xmlを要求します。したがって、クライアントは上流からxmlを実行する代わりに、キャッシュからjsonデータを返します。
たとえば、GETリクエスト:http://example.comとheader application/jsonを指定すると、Cache-Controlヘッダーとjsonペイロードが返されます。 レスポンスが内部のhttpキャッシュにキャッシュされます。 2番目の要求は、cache-controlウィンドウ内で、header application/xmlを使用してhttp://example.comになります。この場合、Okhttpはxmlペイロードではなく、同じjsonペイロードをキャッシュから返します。
Builder builder = new Builder().url("https://httpbin.org/headers").header("accept", header);
この問題は既に経験したことがありますか?キャッシュがどのように動作するかを説明し
短いコードを出力して、問題を実証しているかもしれませんか? – slim
https://gist.github.com/gpor89/c69c795b334af5ff63cef6468222a01eサイトがキャッシュヘッダーを返さないため、このリソースはテストに合格します。 – Gregor
要注意です。質問は自己完結型でなければなりません。あなたはコード全体を必要とせず、人々があなたがしていることを見ることができるだけで、あなたの出力を表示することができます。 – slim