在 API Gateway 中設定 REST API 方法 - Amazon API Gateway

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

在 API Gateway 中設定 REST API 方法

在 API Gateway 中,API 方法包含方法請求方法回應。您可以設定 API 方法,來定義用戶端應該或必須執行才能提交請求以存取後端服務的操作,以及定義用戶端接著會收到的回應。輸入時,您可以選擇方法請求參數或適用的承載,讓用戶端在執行階段提供必要或選用的資料。輸出時,您會決定方法回應狀態碼、標頭與適用的本文,以作為後端回應資料映射的目標,再將這些目標傳回用戶端。為了協助用戶端開發人員了解您的 API 行為以及輸入與輸出格式,您可以記錄您的 API 並提供有關無效的請求的適當錯誤訊息

API 方法請求是 HTTP 請求。若要設定方法請求,請設定 HTTP 方法 (或動詞)、API 資源的路徑、標頭、適用的查詢字串參數。當 HTTP 方法是 POSTPUTPATCH 時,您也會設定承載。例如,若要使用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 開發套件),您應該定義方法請求輸入的資料模型,並定義方法回應輸出的資料模型。