本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
在 API Gateway 中設定 REST API 方法
在 API Gateway 中,API 方法包含方法請求與方法回應。您可以設定 API 方法,來定義用戶端應該或必須執行才能提交請求以存取後端服務的操作,以及定義用戶端接著會收到的回應。輸入時,您可以選擇方法請求參數或適用的承載,讓用戶端在執行階段提供必要或選用的資料。輸出時,您會決定方法回應狀態碼、標頭與適用的本文,以作為後端回應資料映射的目標,再將這些目標傳回用戶端。為了協助用戶端開發人員了解您的 API 行為以及輸入與輸出格式,您可以記錄您的 API 並提供有關無效的請求的適當錯誤訊息。
API 方法請求是 HTTP 請求。若要設定方法請求,請設定 HTTP 方法 (或動詞)、API 資源的路徑、標頭、適用的查詢字串參數。當 HTTP 方法是 POST
、PUT
或 PATCH
時,您也會設定承載。例如,若要使用PetStore 範例 API 擷取寵物,您可以定義的 API 方法要求GET
/pets/{petId}
,其中{petId}
是可以在執行階段取得數字的 path 參數。
GET /pets/1 Host: apigateway.us-east-1.amazonaws.com ...
如果用戶端指定不正確的路徑,例如 /pet/1
或 /pets/one
而不是 /pets/1
,則會擲回例外狀況。
API 方法回應是指定狀態碼的 HTTP 回應。對於非代理整合,您必須設定方法回應來指定映射的必要或選用目標。這會將整合回應標頭或本文轉換成相關聯的方法回應標頭或本文。映射可以像身分轉換200
方法回應顯示依現狀傳遞成功整合回應的範例。
200 OK Content-Type: application/json ... { "id": "1", "type": "dog", "price": "$249.99" }
基本上,您可以定義對應到後端之特定回應的方法回應。一般而言,這涉及任何 2XX、4XX 與 5XX 回應。不過,這可能不可行,因為您通常不太可能會事先知道後端可能傳回的所有回應。實際操作時,您可以指定一個方法回應作為預設值,處理來自後端之不明或未映射的回應。您最好指定 500 回應做為預設值。在任何情況下,您都必須為非代理整合設定至少一個方法回應。否則,API Gateway 會將 500 錯誤回應傳回用戶端,即使請求在後端成功也一樣。
若要讓您的 API 支援強型別開發套件 (例如 Java 開發套件),您應該定義方法請求輸入的資料模型,並定義方法回應輸出的資料模型。