使用API閘道主控台設定方法 - Amazon API Gateway

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

使用API閘道主控台設定方法

當您使用RESTAPI主控台建立方法時,您可以同時設定整合要求和方法要求。根據預設,APIGateway 會為您的200方法建立方法回應。

下列指示說明如何編輯方法要求設定,以及如何為您的方法建立其他方法回應。

在API閘道主控台中編輯API閘道方法要求

這些指示假設您已經建立了方法要求。若要取得有關如何建立方法的更多資訊,請參閱〈〉使用 API Gateway 主控台設定 API 整合請求

  1. 在 [資] 窗格中,選擇您的方法,然後選擇 [方法請求] 索引標籤。

  2. 方法請求設定區段中,選擇編輯

  3. 針對授權,選取可用的授權方。

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

    2. 若要使用IAM權限來控制用戶端對該方法的存取,請選取AWS_IAM。有了這個選擇,只有附加了正確IAM原則的IAM角色使用者才能呼叫此方法。

      若要建立IAM角色,請使用如下格式指定存取原則:

      { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "execute-api:Invoke" ], "Resource": [ "resource-statement" ] } ] }

      在此訪問策略中,resource-statement 是你ARN的方法。您可以在 [資源] 頁面上選取方法來尋找您ARN的方法。如需有關設定IAM權限的詳細資訊,請參閱控制對RESTAPI具有IAM權限的訪問

      若要建立IAM角色,您可以調整下列教學課程中的指示為 Lambda 非代理整合建立 Lambda 函數

    3. 若要使用 Lambda 授權方,請選取權杖或請求授權方。請先建立 Lambda 授權方,下拉式選單中才會顯示此選項。如需如何建立 Lambda 授權方的資訊,請參閱使用API閘道 Lambda 授權者

    4. 若要使用 Amazon Cognito 使用者集區,請在 Cognito user pool authorizers (Cognito 使用者集區授權方) 下,選擇可用的使用者集區。在 Amazon Cognito 中建立使用者集區,並在API閘道中建立 Amazon Cognito 使用者集區授權者,以便在下拉式功能表中顯示此選項。如需有關如何建立 Amazon Cognito 使用者集區授權方的資訊,請參閱使用 Amazon Cognito 使用者集區做為授權者來控制對 REST API 的存取

  4. 若要指定請求驗證,請從請求驗證程式下拉式選單中選取值。若要關閉請求驗證,請選取。如需每個選項的詳細資訊,請參閱「RESTAPIs在API閘道中要求驗證」。

  5. 選擇需要API密鑰所需的API密鑰。啟用時,API金鑰會在使用計畫中使用,以限制用戶端流量。

  6. (選擇性) 若要在此 API Java 中指派由API閘道產生SDK的作業名稱,請在作業名稱中輸入名稱。例如,對於的方法要求GET /pets/{petId},對應的 Java SDK 作業名稱預設為GetPetsPetId。這個名字是由方法的HTTP動詞(GET)和資源路徑變量名(PetsPetId)構造的。如果將作業名稱設定為getPetById,則SDK作業名稱會變成GetPetById

  7. 若要將查詢字串參數新增至方法,請執行下列動作:

    1. 選擇 [URL查詢字串參數],然後選擇 [新增查詢字串]。

    2. 針對名稱,輸入查詢字串參數的名稱。

    3. 若要使用新建立的查詢字串參數進行請求驗證,請選取必要。如需請求驗證的詳細資訊,請參閱「RESTAPIs在API閘道中要求驗證」。

    4. 若要將新建立的查詢字串參數當作快取金鑰的一部分來使用,請選取快取。如需快取的詳細資訊,請參閱「使用方法或整合參數作為快取金鑰來編製快取回應的索引」。

    若要移除查詢字串參數,請選擇移除

  8. 若要將標頭參數新增至方法,請執行下列操作:

    1. 選擇HTTP要求標頭,然後選擇 [新增標頭]。

    2. 名稱中,輸入標頭的名稱。

    3. 若要使用新建立的標頭進行請求驗證,請選取必要。如需請求驗證的詳細資訊,請參閱「RESTAPIs在API閘道中要求驗證」。

    4. 若要將新建立的標頭當作快取金鑰的一部分來使用,請選取快取。如需快取的詳細資訊,請參閱「使用方法或整合參數作為快取金鑰來編製快取回應的索引」。

    若要移除標頭,請選擇移除

  9. 若要使用、或PATCHHTTP動詞宣告方法要求的裝載格式 POSTPUT請選擇 Request 主體,然後執行下列動作:

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

    2. 針對「內容類型」,輸入類MIME型 (例如,application/json)。

    3. 對於模型,從下拉式選單中選取模型。目前可用的模型API包括預設Error模型Empty和模型,以及您已建立並新增至的「模型」集合中的任何模型API。如需建立模型的詳細資訊,請參閱「資料模型 REST APIs」。

      注意

      此模型可用來通知用戶端預期的承載資料格式。它對產生骨架映射範本很有幫助。它產生一個強類型SDK的API在這樣的語言,如 Java,C#,目標 C 和斯威夫特是非常重要的。只有對承載啟用請求驗證時才需要這樣做。

  10. 選擇 Save (儲存)。

使用API閘道主控台設定API閘道方法回應

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

若要使用API閘道主控台來修改、刪除或新增方API法的回應,請遵循下列指示。

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

  2. 方法回應設定區段中,選擇建立回應

  3. 對於HTTP狀態碼,請輸入HTTP狀態碼200,例如400、或500

    當後端傳回的回應沒有定義對應的方法回應時,APIGateway 無法將回應傳回給用戶端。相反地,它會傳回 500 Internal server error 錯誤回應。

  4. 選擇新增標頭

  5. 標頭名稱中輸入名稱。

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

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

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

  7. 選擇 Save (儲存)。

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

對於從後端傳回的每個回應,您必須將相容的回應設定為方法回應。不過,除非您將結果從後端映射到方法回應,再傳回用戶端,否則設定方法回應標頭與承載模型為選擇性。此外,如果您要SDK為您的API.