教學課程:RESTAPI使用HTTP非代理整合建立 - Amazon API Gateway

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

教學課程: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
  1. https://console.aws.amazon.com/apigateway 登入API閘道主控台。

  2. 如果這是您第一次使用 API Gateway,您會看到一個頁面,向您介紹 服務的功能。在 REST API下,選擇建置 。出現建立範例API快顯視窗時,選擇確定

    如果這不是您第一次使用 API Gateway,請選擇建立 API。在 REST API下,選擇建置

  3. 針對API名稱 ,輸入 HTTPNonProxyAPI

  4. 描述,請輸入描述。

  5. API端點類型設定為區域

  6. 選擇建立 API

Resources (資源) 樹狀目錄顯示不含任何方法的根資源 (/)。在本練習中,我們將API使用 PetStore 網站的HTTP自訂整合 (http://petstore-demo-endpoint.execute-apicom/petstore/pets.) 建置 。為了說明,我們將建立/pets資源作為根的子項,並公開此資源上GET的方法,供用戶端從 PetStore 網站擷取可用的寵物項目清單。

建立 /pets 資源
  1. 選擇建立資源

  2. 代理資源保持關閉。

  3. 資源路徑保持為 /

  4. 針對資源名稱,輸入 pets

  5. 保持關閉 CORS (跨原始伺服器資源共用)

  6. 選擇建立資源

在此步驟中,您會在 /pets 資源上建立 GET 方法。GET 方法會與 http://petstore-demo-endpoint.execute-api.com/petstore/pets 網站整合。API 方法的其他選項包括:

  • POST,主要用於建立子資源。

  • PUT,主要用於更新現有資源 (雖然不建議,但可用於建立子資源)。

  • DELETE,用於刪除資源。

  • PATCH,用於更新資源。

  • HEAD,主要用於測試案例。它與 相同,GET但不會傳回資源表示。

  • OPTIONS,來電者可以使用它來取得目標服務可用通訊選項的相關資訊。

對於整合請求HTTP的方法 ,您必須選擇一個後端支援的方法。對於 HTTPMock integration,方法請求和整合請求使用相同的動HTTP詞是合理的。對於其他整合類型,方法請求可能會使用與整合請求不同的動HTTP詞。例如,若要呼叫 Lambda 函數,整合請求必須使用 POST 來叫用函數,而方法請求可能會使用任何HTTP動詞,具體取決於 Lambda 函數的邏輯。

/pets 資源上建立 GET 方法
  1. 選取 /pets 資源。

  2. 選擇建立方法

  3. 針對方法類型,選取 GET

  4. 針對整合類型 ,選取HTTP整合

  5. 保持HTTP代理整合關閉。

  6. 對於HTTP方法 ,選取 GET

  7. 對於端點 URL,輸入 http://petstore-demo-endpoint.execute-api.com/petstore/pets

    PetStore 該網站可讓您在指定頁面上依寵物類型擷取Pet項目清單,例如「狗」或「貓」。

  8. 針對內容處理,選取傳遞

  9. 選擇URL查詢字串參數

    PetStore 網站使用 typepage查詢字串參數來接受輸入。您可以將查詢字串參數新增至方法請求,並將其映射至整合請求的對應查詢字串參數。

  10. 若要新增查詢字串參數,請執行下列動作:

    1. 選擇新增查詢字串

    2. 對於名稱,輸入 type

    3. 必要快取保持關閉。

    重複上述步驟,另外建立名稱為 page 的查詢字串。

  11. 選擇建立方法

用戶端現在可以在提交請求時,提供寵物類型與頁碼作為查詢字串參數。這些輸入參數必須映射到整合的查詢字串參數,以將輸入值轉送到後端中的 PetStore 網站。

將輸入參數映射至整合請求
  1. 整合請求索引標籤上,於整合請求設定下,選擇編輯

  2. 選擇URL查詢字串參數 ,然後執行下列動作:

    1. 選擇新增查詢字串參數

    2. 針對名稱,輸入 type

    3. 對於映射自,輸入 method.request.querystring.type

    4. 快取保持關閉。

    5. 選擇新增查詢字串參數

    6. 針對名稱,輸入 page

    7. 對於映射自,輸入 method.request.querystring.page

    8. 快取保持關閉。

  3. 選擇 Save (儲存)。

若要測試 API
  1. 選擇測試標籤。您可能需要選擇向右箭頭按鈕才能顯示此索引標籤。

  2. 針對查詢字串,輸入 type=Dog&page=2

  3. 選擇測試

    結果類似如下:

    對GET寵物進行測試調用方法結果

    現在測試成功,我們可以部署 API以公開提供。

  4. 選擇部署API

  5. 針對階段,選取新階段

  6. 針對階段名稱,輸入 Prod

  7. 描述,請輸入描述。

  8. 選擇部署

  9. (選用) 在 階段詳細資訊 下,針對叫用 URL,您可以選擇複製圖示以複製 API的叫用 URL。您可以搭配 PostmancURL 等工具來測試您的 API。

如果您使用 SDK建立用戶端,您可以呼叫 公開的方法SDK來簽署請求。如需實作詳細資訊,請參閱AWS SDK您選擇的 。

注意

對 進行變更時API,您必須重新部署 API,才能URL再次叫用請求之前,提供新的或更新的 功能。

(選用) 映射請求參數

API Gateway 的映射請求參數 API

本教學課程說明如何在 的方法請求{petId}上建立 API的路徑參數,以指定項目 ID、將其對應至整合請求 中的{id}路徑參數URL,並將請求傳送至HTTP端點。

注意

如果您輸入大小寫錯誤的字母 (例如輸入小寫字母而非大寫字母),這可能會在稍後的演練中造成錯誤。

步驟 1:建立資源

在此步驟中,您會使用路徑參數 {petId} 建立資源。

若要建立 {petId} 資源
  1. 選取 /pets 資源,然後選擇建立資源

  2. 代理資源保持關閉。

  3. 針對資源路徑,選取 /pets

  4. 針對資源名稱,輸入 {petId}

    周圍使用捲曲支架 ({ }),petId以顯示 /pets/{petId}

  5. 保持關閉 CORS (跨原始伺服器資源共用)

  6. 選擇建立資源

步驟 2:建立及測試方法

在此步驟中,您會建立路徑參數為 {petId}GET 方法。

設定GET方法
  1. 選取 /{petId} 資源,然後選擇建立方法

  2. 針對方法類型,選取 GET

  3. 針對整合類型 ,選取HTTP整合

  4. 保持HTTP代理整合關閉。

  5. 對於HTTP方法 ,選取 GET

  6. 對於端點 URL,輸入 http://petstore-demo-endpoint.execute-api.com/petstore/pets/{id}

  7. 針對內容處理,選取傳遞

  8. 預設逾時保持開啟。

  9. 選擇建立方法

現在,您將剛建立URL的{petId}路徑參數映射至整合請求HTTP端點中的{id}路徑參數。HTTP 端點URL為 http://petstore-demo-endpoint.execute-api.com/petstore/pets/{id}

映射 {petId} 路徑參數
  1. 整合請求索引標籤上,於整合請求設定下,選擇編輯

  2. 選擇URL路徑參數

  3. API Gateway 會為名為 的整合請求建立路徑參數petId,但此路徑參數對您URL設定為後端整合的HTTP端點無效。HTTP 端點使用 {id}作為路徑參數。對於名稱 ,刪除 petId並輸入 id

    這會將 petId 的方法請求路徑參數對應到 id 的整合請求路徑參數。

  4. 選擇儲存

現在,請測試該方法。

測試該方法
  1. 選擇測試標籤。您可能需要選擇向右箭頭按鈕才能顯示此索引標籤。

  2. 在 的路徑petId,輸入 4

  3. 選擇測試

    若成功,回應內文會顯示如下:

    { "id": 4, "type": "bird", "price": 999.99 }

步驟 3:部署 API

在此步驟中,您可以部署 ,API以便開始在API閘道主控台外部呼叫它。

部署 API
  1. 選擇部署API

  2. 對於階段,選取生產

  3. 描述,請輸入描述。

  4. 選擇部署

步驟 4:測試 API

在此步驟中,您會離開 API Gateway 主控台,並使用 API存取HTTP端點。

  1. 在主導覽窗格中,選擇階段

  2. 階段詳細資訊 下,選擇複製圖示以複製 API的叫用 URL。

    此 URL 看起來如下:

    https://my-api-id.execute-api.region-id.amazonaws.com/prod
  3. URL 在新瀏覽器索引標籤的地址方塊中輸入此選項,並在提交請求URL之前附加/pets/4到 。

  4. 瀏覽器會傳回以下內容:

    { "id": 4, "type": "bird", "price": 999.99 }

後續步驟

您可以開啟請求驗證、轉換資料或建立自訂閘道回應,API以進一步自訂您的 。

若要探索更多自訂 的方式API,請參閱下列教學課程: