応答を返す
適用対象: すべての 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 | 応答の本文を設定します。 | いいえ |
使用法
- ポリシー セクション: inbound、outbound、backend、on-error
- ポリシー スコープ: グローバル、ワークスペース、製品、API、操作
- ゲートウェイ: クラシック、v2、従量課金、セルフホステッド、ワークスペース
使用上の注意
- 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>
関連ポリシー
関連するコンテンツ
ポリシーに対する処理の詳細については、次のトピックを参照してください。