

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

# API Gateway 中 REST API 沒有映射範本時，承載的方法請求行為
<a name="integration-passthrough-behaviors"></a>

如果您的方法請求具有承載，而您未針對 `Content-Type` 標頭定義映射範本，則您可以選擇透過整合請求將用戶端提供的請求承載傳遞至後端，而不進行轉換。這個過程稱為整合傳遞。

 傳入請求的實際傳遞行為是由此設定決定。共有三個選項：

**當沒有範本符合請求 Content-Type 標頭時**  
當方法請求內容類型不符合與對應範本相關聯的任何內容類型時，如果您想要讓方法請求內文透過整合請求傳遞到後端而不進行轉換，請選擇此選項。  
呼叫 API Gateway API 時，您可以透過在[整合](https://docs.aws.amazon.com/apigateway/latest/api/API_Integration.html)上將 `WHEN_NO_MATCH` 設定為 `passthroughBehavior` 屬性值來選擇此選項。

**未定義範本時 (建議)**  
當整合請求中未定義任何對應範本時，如果您想要讓方法請求內文透過整合請求傳遞到後端而不進行轉換，請選擇此選項。如果選取此選項時已定義範本，則具有承載但內容類型不符合任何已定義映射範本的方法請求將會遭拒，並顯示 HTTP 415 Unsupported Media Type (不支援的媒體類型) 回應。  
呼叫 API Gateway API 時，您可以透過在[整合](https://docs.aws.amazon.com/apigateway/latest/api/API_Integration.html)上將 `WHEN_NO_TEMPLATES` 設定為 `passthroughBehavior` 屬性值來選擇此選項。

**從不**  
當整合請求中未定義任何對應範本時，如果您不想要讓方法請求內文透過整合請求傳遞到後端而不進行轉換，請選擇此選項。如果選取此選項時已定義範本，未映射內容類型的方法請求會遭到拒絕，並顯示 HTTP 415 Unsupported Media Type (不支援的媒體類型) 回應。  
呼叫 API Gateway API 時，您可以透過在[整合](https://docs.aws.amazon.com/apigateway/latest/api/API_Integration.html)上將 `NEVER` 設定為 `passthroughBehavior` 屬性值來選擇此選項。

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

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


| Content-type | 傳遞選項 | Behavior (行為) | 
| --- | --- | --- | 
| 無<br />API Gateway 預設為 `application/json` | WHEN\_NO\_MATCH | 使用此範本轉換請求承載。 | 
| 無<br />API Gateway 預設為 `application/json` | WHEN\_NO\_TEMPLATES | 使用此範本轉換請求承載。 | 
| 無<br />API Gateway 預設為 `application/json` | NEVER | 使用此範本轉換請求承載。 | 
| application/json | WHEN\_NO\_MATCH | 使用此範本轉換請求承載。 | 
| application/json | WHEN\_NO\_TEMPLATES | 使用此範本轉換請求承載。 | 
| application/json | NEVER | 使用此範本轉換請求承載。 | 
| application/xml | WHEN\_NO\_MATCH | 請求承載未轉換，而且會依現狀傳送到後端。 | 
| application/xml | WHEN\_NO\_TEMPLATES | 請求遭到拒絕，回應為 HTTP 415 Unsupported Media Type。 | 
| application/xml | NEVER | 請求遭到拒絕，回應為 HTTP 415 Unsupported Media Type。 | 

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


| Content-type | 傳遞選項 | Behavior (行為) | 
| --- | --- | --- | 
| 無<br />API Gateway 預設為 `application/json` | WHEN\_NO\_MATCH | 請求承載未轉換，而且會依現狀傳送到後端。 | 
| 無<br />API Gateway 預設為 `application/json` | WHEN\_NO\_TEMPLATES | 請求遭到拒絕，回應為 HTTP 415 Unsupported Media Type。 | 
| 無<br />API Gateway 預設為 `application/json` | NEVER | 請求遭到拒絕，回應為 HTTP 415 Unsupported Media Type。 | 
| application/json | WHEN\_NO\_MATCH | 請求承載未轉換，而且會依現狀傳送到後端。 | 
| application/json | WHEN\_NO\_TEMPLATES | 請求遭到拒絕，回應為 HTTP 415 Unsupported Media Type。 | 
| application/json | NEVER | 請求遭到拒絕，回應為 HTTP 415 Unsupported Media Type。 | 
| application/xml | WHEN\_NO\_MATCH | 使用此範本轉換請求承載。 | 
| application/xml | WHEN\_NO\_TEMPLATES | 使用此範本轉換請求承載。 | 
| application/xml | NEVER | 使用此範本轉換請求承載。 | 

範例 3：整合請求中未定義任何映射範本。


| Content-type | 傳遞選項 | Behavior (行為) | 
| --- | --- | --- | 
| 無<br />API Gateway 預設為 `application/json` | WHEN\_NO\_MATCH | 請求承載未轉換，而且會依現狀傳送到後端。 | 
| 無<br />API Gateway 預設為 `application/json` | WHEN\_NO\_TEMPLATES | 請求承載未轉換，而且會依現狀傳送到後端。 | 
| 無<br />API Gateway 預設為 `application/json` | NEVER | 請求遭到拒絕，回應為 HTTP 415 Unsupported Media Type。 | 
| application/json | WHEN\_NO\_MATCH | 請求承載未轉換，而且會依現狀傳送到後端。 | 
| application/json | WHEN\_NO\_TEMPLATES | 請求承載未轉換，而且會依現狀傳送到後端。 | 
| application/json | NEVER | 請求遭到拒絕，回應為 HTTP 415 Unsupported Media Type。 | 
| application/xml | WHEN\_NO\_MATCH | 請求承載未轉換，而且會依現狀傳送到後端。 | 
| application/xml | WHEN\_NO\_TEMPLATES | 請求承載未轉換，而且會依現狀傳送到後端。 | 
| application/xml | NEVER | 請求遭到拒絕，回應為 HTTP 415 Unsupported Media Type。 | 