整合傳遞行為 - Amazon API Gateway

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

整合傳遞行為

使用非代理整合,當方法請求傳送承載,但 Content-Type 標頭不符合任何指定的對應範本,或未定義任何對應範本時,您可以選擇將用戶端提供的請求承載透過整合請求傳送到後端,且不須轉換。這個過程稱為整合傳遞。

關於代理整合,API Gateway 會將整個請求傳遞到您的後端,而您並無法修改傳遞行為。

傳入請求的實際傳遞行為,是由您在整合請求設定期間針對指定對應範本所選擇的選項,以及用戶端在傳入請求中設定的內容類型標頭而決定。共有三個選項:

當沒有範本符合請求 Content-Type 標頭時

當方法請求內容類型不符合與對應範本相關聯的任何內容類型時,如果您想要讓方法請求內文透過整合請求傳遞到後端而不進行轉換,請選擇此選項。

呼叫 API Gateway API 時,您可以透過在整合上將 WHEN_NO_MATCH 設定為 passthroughBehavior 屬性值來選擇此選項。

未定義範本時 (建議)

當整合請求中未定義任何對應範本時,如果您想要讓方法請求內文透過整合請求傳遞到後端而不進行轉換,請選擇此選項。如果選取此選項時已定義範本,未映射內容類型的方法請求會遭到拒絕,並顯示 HTTP 415 Unsupported Media Type (不支援的媒體類型) 回應。

呼叫 API Gateway API 時,您可以透過在整合上將 WHEN_NO_TEMPLATES 設定為 passthroughBehavior 屬性值來選擇此選項。

從不

當整合請求中未定義任何對應範本時,如果您不想要讓方法請求內文透過整合請求傳遞到後端而不進行轉換,請選擇此選項。如果選取此選項時已定義範本,未映射內容類型的方法請求會遭到拒絕,並顯示 HTTP 415 Unsupported Media Type (不支援的媒體類型) 回應。

呼叫 API Gateway API 時,您可以透過在整合上將 NEVER 設定為 passthroughBehavior 屬性值來選擇此選項。

下列範例說明可能的傳遞行為。

範例 1:針對 application/json 內容類型在整合請求中定義的一個對應範本。

Content-Type 標頭\選取的傳遞選項 WHEN_NO_MATCH WHEN_NO_TEMPLATES NEVER
無 (預設為 application/json) 使用此範本轉換請求承載。 使用此範本轉換請求承載。 使用此範本轉換請求承載。
application/json 使用此範本轉換請求承載。 使用此範本轉換請求承載。 使用此範本轉換請求承載。
application/xml 請求承載未轉換,而且會依現狀傳送到後端。 請求遭到拒絕,回應為 HTTP 415 Unsupported Media Type 請求遭到拒絕,回應為 HTTP 415 Unsupported Media Type

範例 2:針對 application/xml 內容類型在整合請求中定義的一個對應範本。

Content-Type 標頭\選取的傳遞選項 WHEN_NO_MATCH WHEN_NO_TEMPLATES NEVER
無 (預設為 application/json) 請求承載未轉換,而且會依現狀傳送到後端。 請求遭到拒絕,回應為 HTTP 415 Unsupported Media Type 請求遭到拒絕,回應為 HTTP 415 Unsupported Media Type
application/json 請求承載未轉換,而且會依現狀傳送到後端。 請求遭到拒絕,回應為 HTTP 415 Unsupported Media Type 請求遭到拒絕,回應為 HTTP 415 Unsupported Media Type
application/xml 使用此範本轉換請求承載。 使用此範本轉換請求承載。 使用此範本轉換請求承載。