本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
教學課程:RESTAPI使用HTTP非代理整合建立
在本教學課程中,您可以使用 Amazon API Gateway 主控台API從頭開始建立 。您可以將 主控台視為API設計工作室,並使用它來範圍API特徵、實驗其行為、建置 API,以及API分階段部署您的 。
建立API具有HTTP自訂整合的
本節會逐步引導您建立資源、在資源上公開方法、設定方法以達到所需的API行為,以及測試和部署 API。
在此步驟中,您會建立空的 API。在下列步驟中,您可以使用非代理HTTP整合建立資源和方法,將 API 連線至http://petstore-demo-endpoint.execute-api.com/petstore/pets
端點。
若要建立 API
在 https://console.aws.amazon.com/apigateway
登入API閘道主控台。 -
如果這是您第一次使用 API Gateway,您會看到一個頁面,向您介紹 服務的功能。在 REST API下,選擇建置 。出現建立範例API快顯視窗時,選擇確定 。
如果這不是您第一次使用 API Gateway,請選擇建立 API。在 REST API下,選擇建置 。
針對API名稱 ,輸入
HTTPNonProxyAPI
。在描述,請輸入描述。
將API端點類型設定為區域 。
選擇建立 API。
Resources (資源) 樹狀目錄顯示不含任何方法的根資源 (/
)。在本練習中,我們將API使用 PetStore 網站的HTTP自訂整合 (http://petstore-demo-endpoint.execute-apicom/petstore/pets.) 建置 。為了說明,我們將建立/pets
資源作為根的子項,並公開此資源上GET的方法,供用戶端從 PetStore 網站擷取可用的寵物項目清單。
建立 /pets 資源
選擇建立資源。
讓代理資源保持關閉。
將資源路徑保持為
/
。針對資源名稱,輸入
pets
。保持關閉 CORS (跨原始伺服器資源共用)。
選擇建立資源。
在此步驟中,您會在 /pets 資源上建立 GET
方法。GET
方法會與 http://petstore-demo-endpoint.execute-api.com/petstore/pets
網站整合。API 方法的其他選項包括:
-
POST,主要用於建立子資源。
-
PUT,主要用於更新現有資源 (雖然不建議,但可用於建立子資源)。
-
DELETE,用於刪除資源。
-
PATCH,用於更新資源。
-
HEAD,主要用於測試案例。它與 相同,GET但不會傳回資源表示。
-
OPTIONS,來電者可以使用它來取得目標服務可用通訊選項的相關資訊。
對於整合請求HTTP的方法 ,您必須選擇一個後端支援的方法。對於 HTTP
或 Mock integration
,方法請求和整合請求使用相同的動HTTP詞是合理的。對於其他整合類型,方法請求可能會使用與整合請求不同的動HTTP詞。例如,若要呼叫 Lambda 函數,整合請求必須使用 POST
來叫用函數,而方法請求可能會使用任何HTTP動詞,具體取決於 Lambda 函數的邏輯。
在 /pets 資源上建立 GET
方法
選取 /pets 資源。
選擇建立方法。
針對方法類型,選取 GET。
針對整合類型 ,選取HTTP整合 。
保持HTTP代理整合關閉。
對於HTTP方法 ,選取 GET。
對於端點 URL,輸入
http://petstore-demo-endpoint.execute-api.com/petstore/pets
。PetStore 該網站可讓您在指定頁面上依寵物類型擷取
Pet
項目清單,例如「狗」或「貓」。針對內容處理,選取傳遞。
選擇URL查詢字串參數 。
PetStore 網站使用
type
和page
查詢字串參數來接受輸入。您可以將查詢字串參數新增至方法請求,並將其映射至整合請求的對應查詢字串參數。若要新增查詢字串參數,請執行下列動作:
選擇新增查詢字串。
對於名稱,輸入
type
。將必要和快取保持關閉。
重複上述步驟,另外建立名稱為
page
的查詢字串。選擇建立方法。
用戶端現在可以在提交請求時,提供寵物類型與頁碼作為查詢字串參數。這些輸入參數必須映射到整合的查詢字串參數,以將輸入值轉送到後端中的 PetStore 網站。
將輸入參數映射至整合請求
在整合請求索引標籤上,於整合請求設定下,選擇編輯。
選擇URL查詢字串參數 ,然後執行下列動作:
選擇新增查詢字串參數。
針對名稱,輸入
type
。對於映射自,輸入
method.request.querystring.type
。讓快取保持關閉。
選擇新增查詢字串參數。
針對名稱,輸入
page
。對於映射自,輸入
method.request.querystring.page
。讓快取保持關閉。
選擇 Save (儲存)。
若要測試 API
如果您使用 SDK建立用戶端,您可以呼叫 公開的方法SDK來簽署請求。如需實作詳細資訊,請參閱AWS SDK
注意
對 進行變更時API,您必須重新部署 API,才能URL再次叫用請求之前,提供新的或更新的 功能。
(選用) 映射請求參數
API Gateway 的映射請求參數 API
本教學課程說明如何在 的方法請求{petId}
上建立 API的路徑參數,以指定項目 ID、將其對應至整合請求 中的{id}
路徑參數URL,並將請求傳送至HTTP端點。
注意
如果您輸入大小寫錯誤的字母 (例如輸入小寫字母而非大寫字母),這可能會在稍後的演練中造成錯誤。
步驟 1:建立資源
在此步驟中,您會使用路徑參數 {petId} 建立資源。
若要建立 {petId} 資源
-
選取 /pets 資源,然後選擇建立資源。
讓代理資源保持關閉。
針對資源路徑,選取 /pets。
針對資源名稱,輸入
{petId}
。周圍使用捲曲支架 (
{ }
),petId
以顯示 /pets/{petId}。保持關閉 CORS (跨原始伺服器資源共用)。
選擇建立資源。
步驟 2:建立及測試方法
在此步驟中,您會建立路徑參數為 {petId}
的 GET
方法。
設定GET方法
選取 /{petId} 資源,然後選擇建立方法 。
針對方法類型,選取 GET。
針對整合類型 ,選取HTTP整合 。
保持HTTP代理整合關閉。
對於HTTP方法 ,選取 GET。
對於端點 URL,輸入
http://petstore-demo-endpoint.execute-api.com/petstore/pets/{id}
針對內容處理,選取傳遞。
讓預設逾時保持開啟。
選擇建立方法。
現在,您將剛建立URL的{petId}
路徑參數映射至整合請求HTTP端點中的{id}
路徑參數。HTTP 端點URL為 http://petstore-demo-endpoint.execute-api.com/petstore/pets/{id}
。
映射 {petId}
路徑參數
-
在整合請求索引標籤上,於整合請求設定下,選擇編輯。
選擇URL路徑參數 。
-
API Gateway 會為名為 的整合請求建立路徑參數petId,但此路徑參數對您URL設定為後端整合的HTTP端點無效。HTTP 端點使用
{id}
作為路徑參數。對於名稱 ,刪除 petId並輸入id
。這會將
petId
的方法請求路徑參數對應到id
的整合請求路徑參數。 選擇儲存。
現在,請測試該方法。
測試該方法
-
選擇測試標籤。您可能需要選擇向右箭頭按鈕才能顯示此索引標籤。
在 的路徑下petId,輸入
4
。選擇測試。
若成功,回應內文會顯示如下:
{ "id": 4, "type": "bird", "price": 999.99 }
步驟 3:部署 API
在此步驟中,您可以部署 ,API以便開始在API閘道主控台外部呼叫它。
部署 API
選擇部署API。
對於階段,選取生產。
在描述,請輸入描述。
選擇部署。
步驟 4:測試 API
在此步驟中,您會離開 API Gateway 主控台,並使用 API存取HTTP端點。
-
在主導覽窗格中,選擇階段。
-
在階段詳細資訊 下,選擇複製圖示以複製 API的叫用 URL。
此 URL 看起來如下:
https://
my-api-id
.execute-api.region-id
.amazonaws.com/prod -
URL 在新瀏覽器索引標籤的地址方塊中輸入此選項,並在提交請求URL之前附加
/pets/4
到 。 -
瀏覽器會傳回以下內容:
{ "id": 4, "type": "bird", "price": 999.99 }
後續步驟
您可以開啟請求驗證、轉換資料或建立自訂閘道回應,API以進一步自訂您的 。
若要探索更多自訂 的方式API,請參閱下列教學課程:
-
如需請求驗證的詳細資訊,請參閱「在API閘道中設定基本要求驗證」。
-
如需如何轉換請求和回應承載的相關資訊,請參閱在 API Gateway 中設定資料轉換。
-
如需如何建立自訂閘道回應的相關資訊,請參閱使用閘道主控台設RESTAPI定API閘道回應。