

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

# 在 API Gateway 中設定整合回應
<a name="api-gateway-integration-settings-integration-response"></a>

 針對非代理整合，您必須至少設定一個整合回應，並讓它成為預設的回應，才能將後端傳回的結果傳送到用戶端。您可以選擇依現狀傳送結果，或將整合回應資料轉換成方法回應資料，如果它們兩個格式不同。

如需代理整合，API Gateway 會自動將後端輸出當作 HTTP 回應傳送至用戶端。您不用設定整合回應或方法回應。

若要設定整合回應，您要執行下列必要和選用任務：

1.  指定整合回應資料映射的方法回應 HTTP 狀態碼。這是必要的。

1.  定義規則表達式選取此整合回應要代表的後端輸出。如果此項目保留空白，此回應是用來擷取所有尚未設定回應的預設回應。

1.  如有需要，請宣告使用鍵值對組成的映射，將指定的整合回應參數映射到指定的方法回應參數。

1. 如有需要，請新增內文映射範本，將指定的整合回應承載傳送到指定的方法回應承載。

1.  如有需要，請指定如何處理二進位承載的類型轉換。

整合回應是封裝後端回應的 HTTP 回應。HTTP 端點的後端回應是 HTTP 回應。整合回應狀態碼可以採用後端傳回的狀態碼，整合回應內文是後端傳回的承載。Lambda 端點的後端回應是從 Lambda 函數傳回的輸出。使用 Lambda 整合，Lambda 函數輸出會傳回為 `200 OK` 回應。承載可以包含結果當作 JSON 資料，包括 JSON 字串或 JSON 物件，或當作 JSON 物件的錯誤訊息。您可以將規則表達式指派給 [selectionPattern](https://docs.aws.amazon.com/apigateway/latest/api/API_IntegrationResponse.html#selectionPattern) 屬性，將錯誤回應映射到適當的 HTTP 錯誤回應。如需 Lambda 函數錯誤回應的詳細資訊，請參閱[處理 API Gateway 中的 Lambda 錯誤](handle-errors-in-lambda-integration.md)。使用 Lambda 代理整合，Lambda 函數必須傳回格式如下的輸出：

```
{
    statusCode: "...",            // a valid HTTP status code
    headers: { 
        custom-header: "..."      // any API-specific custom header
    },
    body: "...",                  // a JSON string.
    isBase64Encoded:  true|false  // for binary support
}
```

您不必將 Lambda 函數回應映射到其正確的 HTTP 回應。

若要將結果傳回給用戶端，請設定整合回應依現狀將端點回應傳送到對應的方法回應。或者，您可以將端點回應資料映射到方法回應資料。可映射的回應資料包括回應狀態碼、回應標頭參數和回應內文。傳回的狀態碼如果未定義任何方法回應，API Gateway 會傳回 500 錯誤。如需詳細資訊，請參閱[覆寫 API Gateway 中 REST API 的 API 請求和回應參數及狀態碼](apigateway-override-request-response-parameters.md)。

