Apigee ResponseCache ポリシーは、レスポンス フローでポリシーが検出された時点で、レスポンス全体を自動的にキャッシュします。応答がキャッシュに入れられた時間を含むアクセス可能な変数があるとは思いません。ただし、これを実現する方法があります。
まず、ResponseCache の流れをまとめます。ResponseCache ポリシー RC1 があるとします。リクエスト フローとレスポンス フローの両方に配置します。以下に図を示します。
-->[P]-->[P]-->[P]-->[RC1]-->[P*]-->[P*]-->[P*]-->
CLIENT v TARGET
<--[P]<--[P]<--[P]<--[RC1]<--[P*]<--[P*]<--[P*]<--
フローが要求フローで RC1 に到達すると、キャッシュ キーは既に作成されており、対応するキャッシュされた応答について応答キャッシュがチェックされます。
キャッシュ ミスの場合、すべてのポリシー (P、P*、および RC1) が実行されます。応答フローで RC1 に到達すると、応答全体がキャッシュに格納され、フローが続行されます。
キャッシュ ヒットが発生すると、P および RC1 ポリシーのみが実行されます。P* ポリシーはスキップされ、ターゲット サーバーへの呼び出しはありません。
Cache ポリシーとは異なり、ResponseCache のキャッシュに何を入れるかを定義することはできません。全体の回答です。ただし、独自のデータを応答に追加することで追加できます。
あなたの場合、応答 RC1 ポリシーが応答フローで呼び出される直前に、現在の時刻 (system.time) を含む応答にヘッダーを追加します。応答は、カスタム ヘッダーと共にキャッシュされます。次に、応答 RC1 ポリシーの後、時間ヘッダーを抽出して応答から取り除きます。現在の system.time を使用して、応答がキャッシュに保持されている時間を計算することもできます。