応答を返す

適用対象: すべての API Management レベル

return-response ポリシーでは、パイプラインの実行を取り消し、既定またはカスタムの応答を呼び出し元に返します。 既定の応答は、本文のない 200 OK です。 コンテキスト変数またはポリシー ステートメントを使用して、カスタムの応答を指定できます。 その両方を指定した場合、コンテキスト変数に含まれる応答が、呼び出し元に返される前にポリシー ステートメントによって変更されます。

Note

ポリシーの要素と子要素を、ポリシー ステートメントで指定された順序で設定します。 API Management ポリシーを設定または編集する方法について説明します。

ポリシー ステートメント

<return-response response-variable-name="existing context variable">
  <set-status>...</set-status>
  <set-header>...</set-header>
  <set-body>...</set-body>
</return-response>

属性

属性 説明 必要 Default
response-variable-name たとえば、アップストリームの send-request ポリシーから参照され、Response オブジェクトを含むコンテキスト変数の名前。 ポリシー式は使用できません。 いいえ 該当なし

要素

要素 説明 必須
set-status 応答の状態コードを設定します。 いいえ
set-header 応答のヘッダーを設定します。 No
set-body 応答の本文を設定します。 いいえ

使用法

使用上の注意

  • Liquid テンプレートは、return-response ポリシーの本文 (set-body を使用して設定) 内に指定すると機能しません。 return-response ポリシーでは、現在の実行パイプラインを取り消し、現在のコンテキストの要求本文と応答本文を削除します。 その結果、ポリシー内に指定された Liquid テンプレートは、入力として空の文字列を受け取り、期待される出力を生成しません。

<return-response>
   <set-status code="401" reason="Unauthorized"/>
   <set-header name="WWW-Authenticate" exists-action="override">
      <value>Bearer error="invalid_token"</value>
   </set-header>
</return-response>

ポリシーに対する処理の詳細については、次のトピックを参照してください。