

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

# 使用 API Gateway 主控台設定方法
<a name="how-to-set-up-method-using-console"></a>

當您使用 REST API 主控台建立方法時，可以同時設定整合請求和方法請求。根據預設，API Gateway 會為您的方法建立 `200` 方法回應。

下列指示顯示如何編輯方法請求設定，以及如何為您的方法建立其他方法回應。

**Topics**
+ [在 API Gateway 主控台編輯 API Gateway 方法請求](#how-to-method-settings-callers-console)
+ [使用 API Gateway 主控台設定 API Gateway 方法回應](#how-to-method-response-settings-console)

## 在 API Gateway 主控台編輯 API Gateway 方法請求
<a name="how-to-method-settings-callers-console"></a>

 這些說明假設您已建立方法請求。如需有關如何建立方法的詳細資訊，請參閱 [使用 API Gateway 主控台設定 API 整合請求](how-to-method-settings-console.md)。

1. 在**資源**窗格中，選擇您的方法，然後選擇**方法請求**標籤。

1. 在**方法請求設定**區段中，選擇**編輯**。

1. 針對**授權**，選取可用的授權方。

   1. 若要對任何使用者開放方法的存取權，請選取**無**。如果尚未變更預設設定，則可以略過此步驟。

   1. 若要使用 IAM 許可來控制用戶端對方法的存取權，請選取 `AWS_IAM`。使用此選項，只有連接正確 IAM 政策之 IAM 角色的使用者可以呼叫此方法。

      若要建立 IAM 角色，請使用類似如下的格式來指定存取政策：

------
#### [ JSON ]

****  

      ```
      {
        "Version":"2012-10-17",		 	 	 
        "Statement": [
          {
            "Effect": "Allow",
            "Action": [
              "execute-api:Invoke"
            ],
            "Resource": [
              "arn:aws:execute-api:us-east-1:111111111111:aaabbb/*/GET/"
            ]
          }
        ]
      }
      ```

------

      在此存取政策中，`arn:aws:execute-api:us-east-1:111111111111:aaabbb/*/GET/` 是方法的 ARN。您可以在**資源**頁面上選取方法，以尋找方法的 ARN。如需設定 IAM 許可的詳細資訊，請參閱[使用 IAM 許可權控制 REST API 的存取](permissions.md)。

      若要建立 IAM 角色，您可以調整下列教學課程 [為 Lambda 非代理整合建立 Lambda 函數](getting-started-lambda-non-proxy-integration.md#getting-started-new-lambda) 中的說明。

   1.  若要使用 Lambda 授權方，請選取權杖或請求授權方。請先建立 Lambda 授權方，下拉式選單中才會顯示此選項。如需如何建立 Lambda 授權方的資訊，請參閱[使用 API Gateway Lambda 授權方](apigateway-use-lambda-authorizer.md)。

   1.  若要使用 Amazon Cognito 使用者集區，請在 **Cognito user pool authorizers (Cognito 使用者集區授權方)** 下，選擇可用的使用者集區。在 Amazon Cognito 中建立使用者集區，並在 API Gateway 中建立 Amazon Cognito 使用者集區授權方，下拉式選單中才會顯示此選項。如需有關如何建立 Amazon Cognito 使用者集區授權方的資訊，請參閱[使用 Amazon Cognito 使用者集區做為授權方，藉以控制對 REST API 的存取](apigateway-integrate-with-cognito.md)。

1.  若要指定請求驗證，請從**請求驗證程式**下拉式選單中選取值。若要關閉請求驗證，請選取**無**。如需每個選項的詳細資訊，請參閱「[API Gateway 中的 REST API 的請求驗證](api-gateway-method-request-validation.md)」。

1. 選取**需要 API 金鑰**，以要求提供 API 金鑰。啟用時，可使用[用量方案](api-gateway-api-usage-plans.md)中的 API 金鑰來調節用戶端流量。

1. (選用) 若要在此 API 的 Java SDK 中指派 API Gateway 所產生的操作名稱，請在**操作名稱**中輸入名稱。例如，對於 `GET /pets/{petId}` 的方法請求，對應的 Java 開發套件操作名稱預設為 `GetPetsPetId`。此名稱是從方法的 HTTP 動詞 (`GET`) 以及資源路徑變數名稱 (`Pets` 與 `PetId`) 建構而來。如果您將操作名稱設定為 `getPetById`，開發套件操作名稱會變成 `GetPetById`。

1. 若要將查詢字串參數新增至方法，請執行下列動作：

   1. 選擇**URL 查詢字串參數**，然後選擇**新增查詢字串**。

   1. 針對**名稱**，輸入查詢字串參數的名稱。

   1. 若要使用新建立的查詢字串參數進行請求驗證，請選取**必要**。如需請求驗證的詳細資訊，請參閱「[API Gateway 中的 REST API 的請求驗證](api-gateway-method-request-validation.md)」。

   1. 若要將新建立的查詢字串參數當作快取金鑰的一部分來使用，請選取**快取**。如需快取的詳細資訊，請參閱「[使用方法或整合參數作為快取金鑰來編製快取回應的索引](api-gateway-caching.md#enable-api-gateway-cache-keys)」。

   若要移除查詢字串參數，請選擇**移除**。

1. 若要將標頭參數新增至方法，請執行下列操作：

   1. 選擇 **HTTP 請求標頭**，然後選擇**新增標頭**。

   1. 在**名稱**中，輸入標頭的名稱。

   1. 若要使用新建立的標頭進行請求驗證，請選取**必要**。如需請求驗證的詳細資訊，請參閱「[API Gateway 中的 REST API 的請求驗證](api-gateway-method-request-validation.md)」。

   1. 若要將新建立的標頭當作快取金鑰的一部分來使用，請選取**快取**。如需快取的詳細資訊，請參閱「[使用方法或整合參數作為快取金鑰來編製快取回應的索引](api-gateway-caching.md#enable-api-gateway-cache-keys)」。

   若要移除標頭，請選擇**移除**。

1.  若要使用 `POST`、`PUT` 或 `PATCH` HTTP 動詞來宣告方法請求的承載格式，請選擇**請求內文**，然後執行下列操作：

   1. 選擇 **Add model (新增模型)**。

   1. 針對**內容類型**，輸入 MIME 類型 (例如 `application/json`)。

   1. 對於**模型**，從下拉式選單中選取模型。目前 API 的可用模型包括預設的 `Empty` 與 `Error` 模型，以及您已建立並新增至 API 之[模型](https://docs.aws.amazon.com/apigateway/latest/api/API_Model.html)集合的任何模型。如需建立模型的詳細資訊，請參閱「[REST API 的資料模型](models-mappings-models.md)」。
**注意**  
 此模型可用來通知用戶端預期的承載資料格式。它對產生骨架映射範本很有幫助。請務必使用 Java、C\$1、Objective-C 與 Swift 等語言，來產生 API 的強型別開發套件。只有對承載啟用請求驗證時才需要這樣做。

1. 選擇**儲存**。

## 使用 API Gateway 主控台設定 API Gateway 方法回應
<a name="how-to-method-response-settings-console"></a>

 一個 API 方法可以有一或多個回應。每個回應是由其 HTTP 狀態碼編製索引。API Gateway 主控台預設會將 `200` 回應新增至方法回應。您可以修改它；例如，讓方法改為傳回 `201`。您可以新增其他回應；例如，`409` 表示拒絕存取，而 `500` 表示使用了未初始化的階段變數。

 若要使用 API Gateway 主控台來修改、刪除回應或將回應新增至 API 方法，請遵循下列說明進行。

1. 在**資源**窗格中，選擇您的方法，然後選擇**方法回應**標籤。您可能需要選擇向右箭頭按鈕才能顯示此索引標籤。

1. 在**方法回應設定**區段中，選擇**建立回應**。

1. 針對 **HPPT 狀態碼**，輸入 HTTP 狀態碼，例如 `200`、`400` 或 `500`。

    當後端傳回的回應未定義對應的方法回應時，API Gateway 無法將回應傳回至用戶端。相反地，它會傳回 `500 Internal server error` 錯誤回應。

1. 選擇**新增標頭**。

1.  在**標頭名稱**中輸入名稱。

    若要從後端傳回標頭至用戶端，請在方法回應中新增標頭。

1.  選擇**新增模型**，以定義方法回應內文的格式。

   針對**內容類型**輸入回應承載的媒體類型，然後從**模型**下拉式選單中選擇模型。

1. 選擇**儲存**。

若要修改現有回應，請瀏覽至您的方法回應，然後選擇**編輯**。若要變更 **HTTP 狀態碼**，請選擇**刪除**並建立新的方法回應。

對於從後端傳回的每個回應，您必須將相容的回應設定為方法回應。不過，除非您將結果從後端映射到方法回應，再傳回用戶端，否則設定方法回應標頭與承載模型為選擇性。此外，如果您想要為 API 產生強型別開發套件，方法回應承載模型就很重要。