本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用API閘道主控台設定方法
當您使用RESTAPI主控台建立方法時,您可以同時設定整合要求和方法要求。根據預設,APIGateway 會為您的200
方法建立方法回應。
下列指示說明如何編輯方法要求設定,以及如何為您的方法建立其他方法回應。
在API閘道主控台中編輯API閘道方法要求
這些指示假設您已經建立了方法要求。若要取得有關如何建立方法的更多資訊,請參閱〈〉使用 API Gateway 主控台設定 API 整合請求。
-
在 [資源] 窗格中,選擇您的方法,然後選擇 [方法請求] 索引標籤。
在方法請求設定區段中,選擇編輯。
-
針對授權,選取可用的授權方。
-
若要對任何使用者開放方法的存取權,請選取無。如果尚未變更預設設定,則可以略過此步驟。
-
若要使用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 函數。
-
若要使用 Lambda 授權方,請選取權杖或請求授權方。請先建立 Lambda 授權方,下拉式選單中才會顯示此選項。如需如何建立 Lambda 授權方的資訊,請參閱使用API閘道 Lambda 授權者。
-
若要使用 Amazon Cognito 使用者集區,請在 Cognito user pool authorizers (Cognito 使用者集區授權方) 下,選擇可用的使用者集區。在 Amazon Cognito 中建立使用者集區,並在API閘道中建立 Amazon Cognito 使用者集區授權者,以便在下拉式功能表中顯示此選項。如需有關如何建立 Amazon Cognito 使用者集區授權方的資訊,請參閱使用 Amazon Cognito 使用者集區做為授權者來控制對 REST API 的存取。
-
-
若要指定請求驗證,請從請求驗證程式下拉式選單中選取值。若要關閉請求驗證,請選取無。如需每個選項的詳細資訊,請參閱「RESTAPIs在API閘道中要求驗證」。
-
選擇需要API密鑰所需的API密鑰。啟用時,API金鑰會在使用計畫中使用,以限制用戶端流量。
-
(選擇性) 若要在此 API Java 中指派由API閘道產生SDK的作業名稱,請在作業名稱中輸入名稱。例如,對於的方法要求
GET /pets/{petId}
,對應的 Java SDK 作業名稱預設為GetPetsPetId
。這個名字是由方法的HTTP動詞(GET
)和資源路徑變量名(Pets
和PetId
)構造的。如果將作業名稱設定為getPetById
,則SDK作業名稱會變成GetPetById
。 -
若要將查詢字串參數新增至方法,請執行下列動作:
-
選擇 [URL查詢字串參數],然後選擇 [新增查詢字串]。
-
針對名稱,輸入查詢字串參數的名稱。
-
若要使用新建立的查詢字串參數進行請求驗證,請選取必要。如需請求驗證的詳細資訊,請參閱「RESTAPIs在API閘道中要求驗證」。
-
若要將新建立的查詢字串參數當作快取金鑰的一部分來使用,請選取快取。如需快取的詳細資訊,請參閱「使用方法或整合參數作為快取金鑰來編製快取回應的索引」。
若要移除查詢字串參數,請選擇移除。
-
-
若要將標頭參數新增至方法,請執行下列操作:
-
選擇HTTP要求標頭,然後選擇 [新增標頭]。
-
在名稱中,輸入標頭的名稱。
-
若要使用新建立的標頭進行請求驗證,請選取必要。如需請求驗證的詳細資訊,請參閱「RESTAPIs在API閘道中要求驗證」。
-
若要將新建立的標頭當作快取金鑰的一部分來使用,請選取快取。如需快取的詳細資訊,請參閱「使用方法或整合參數作為快取金鑰來編製快取回應的索引」。
若要移除標頭,請選擇移除。
-
-
若要使用、或
PATCH
HTTP動詞宣告方法要求的裝載格式POST
PUT
,請選擇 Request 主體,然後執行下列動作:-
選擇 Add model (新增模型)。
-
針對「內容類型」,輸入類MIME型 (例如,
application/json
)。 -
對於模型,從下拉式選單中選取模型。目前可用的模型API包括預設
Error
模型Empty
和模型,以及您已建立並新增至的「模型」集合中的任何模型API。如需建立模型的詳細資訊,請參閱「資料模型 REST APIs」。注意
此模型可用來通知用戶端預期的承載資料格式。它對產生骨架映射範本很有幫助。它產生一個強類型SDK的API在這樣的語言,如 Java,C#,目標 C 和斯威夫特是非常重要的。只有對承載啟用請求驗證時才需要這樣做。
-
-
選擇 Save (儲存)。
使用API閘道主控台設定API閘道方法回應
一個API方法可以有一個或多個響應。每個響應都由其HTTP狀態碼編制索引。根據預設,API閘道主控台會將回200
應新增至方法回應。您可以修改它;例如,讓方法改為傳回 201
。您可以新增其他回應;例如,409
表示拒絕存取,而 500
表示使用了未初始化的階段變數。
若要使用API閘道主控台來修改、刪除或新增方API法的回應,請遵循下列指示。
-
在 [資源] 窗格中,選擇您的方法,然後選擇 [方法回應] 索引標籤。您可能需要選擇向右箭頭按鈕才能顯示此索引標籤。
-
在方法回應設定區段中,選擇建立回應。
-
對於HTTP狀態碼,請輸入HTTP狀態碼
200
,例如400
、或500
。當後端傳回的回應沒有定義對應的方法回應時,APIGateway 無法將回應傳回給用戶端。相反地,它會傳回
500 Internal server error
錯誤回應。 -
選擇新增標頭。
-
在標頭名稱中輸入名稱。
若要從後端傳回標頭至用戶端,請在方法回應中新增標頭。
-
選擇新增模型,以定義方法回應內文的格式。
針對內容類型輸入回應承載的媒體類型,然後從模型下拉式選單中選擇模型。
-
選擇 Save (儲存)。
若要修改現有回應,請瀏覽至您的方法回應,然後選擇編輯。若要變更狀HTTP態碼,請選擇 [刪除] 並建立新的方法回應。
對於從後端傳回的每個回應,您必須將相容的回應設定為方法回應。不過,除非您將結果從後端映射到方法回應,再傳回用戶端,否則設定方法回應標頭與承載模型為選擇性。此外,如果您要SDK為您的API.