傳回回應
適用於:所有 APIM 層
return-response
原則會取消管線執行,並將預設或自訂的回應傳回給呼叫者。 預設回應為 200 OK
且沒有本文。 自訂回應可透過內容變數或原則陳述式來指定。 如果同時提供兩者,則內容變數中包含的回應會先透過原則陳述式修改,再傳回給呼叫端。
注意
請依照原則陳述式中提供的順序,來設定原則的元素和子元素。 深入了解如何設定或編輯 APIM 原則。
原則陳述式
<return-response response-variable-name="existing context variable">
<set-status>...</set-status>
<set-header>...</set-header>
<set-body>...</set-body>
</return-response>
屬性
屬性 | 描述 | 是必要欄位 | 預設 |
---|---|---|---|
response-variable-name | 參考的內容變數名稱,例如,參考自上游 send-request 原則且包含 Response 物件。 不允許使用原則運算式。 |
No | N/A |
元素
元素 | 描述 | 必要 |
---|---|---|
set-status | 設定回應的狀態碼。 | No |
set-header | 在回應中設定標頭。 | No |
set-body | 在回應中設定本文。 | No |
使用方式
使用注意事項
- 若 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>
相關原則
相關內容
如需使用原則的詳細資訊,請參閱:
- 教學課程:轉換及保護 API
- 原則參考,取得原則陳述式及其設定的完整清單
- 原則運算式
- 設定或編輯原則
- 重複使用原則設定
- 原則程式碼片段存放庫 (英文)
- Azure API 管理 原則工具組
- 使用 Microsoft Azure Copilot 撰寫原則