整合傳遞行為 - Amazon API Gateway

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

整合傳遞行為

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

對於代理整合 ,APIGateway 會將整個請求傳遞到後端,而您沒有修改傳遞行為的選項。

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

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

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

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

未定義範本時 (建議)

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

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

從不

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

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

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

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

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

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

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