我需要 Amazon API Gateway REST API 將查詢字串參數傳遞給後端 AWS Lambda 函數和 HTTP 端點。
簡短說明
若要設定 REST API 將查詢字串參數傳遞至後端 AWS Lambda 函數,請使用 Lambda 自訂整合。
若要將查詢字串參數傳遞至 HTTP 端點,請使用 HTTP 自訂整合。
重要事項: 請確定您提供輸入資料做為整合請求承載。最佳做法是使用映射範本以提供承載。如需詳細資訊,請參閱方法與整合之間的映射請求和回應承載。
解決方法
將查詢字串參數傳遞至後端 Lambda 函數
1. 開啟 API 閘道主控台,然後選擇您的 API。
2. 在資源窗格中,選擇已設定的 HTTP 方法。
注意: 如果為 API 設定了多個 HTTP 方法,請針對每個方法重複步驟 2 到步驟 15。
3. 在方法執行窗格中,選擇方法請求。
4. 展開 URL 查詢字串參數下拉式清單,然後選擇新增查詢字串。
5. 在名稱欄位中,輸入 pet,然後選擇核取記號圖示。
6. 選擇必要核取方塊。
7. 選擇方法執行窗格。
8. 選擇整合請求。
9. 選擇映射範本下拉式清單,然後選擇新增映射範本。
10. 在Content-Type欄位中,輸入application/json,然後選擇核取記號圖示。
11. 在出現的快顯視窗中,選擇是,確保此整合安全。
12. 對於請求內文傳遞,請選擇未定義範本時 (建議使用)。
13. 在映射範本編輯器中,將現有指令碼複製並取代為下列程式碼:
{
"pet": "$input.params('pet')"
}
注意: 如需詳細資訊,請參閱 $input 變數。
14. 選擇儲存,然後選擇部署 API。
15. 若要測試 API 的新端點,請執行下列 curl 命令:
curl -X GET https://jp58lnf5vh.execute-api.us-west-2.amazonaws.com/dev/lambda-non-proxy?pet=dog
重要事項: 確保 curl 命令具有查詢字串參數 pet=dog。
將查詢字串參數傳遞至 HTTP 端點
1. 開啟 API 閘道主控台,然後選擇您的 API。
2. 在資源窗格中,選擇已設定的 HTTP 方法。
注意: 如果為 API 設定了一個以上的 HTTP 方法,請針對每個方法重複步驟 2 至 10。
3. 在方法執行窗格中,選擇方法請求。
4. 展開 URL 查詢字串參數下拉式清單,然後選擇新增查詢字串。
5. 在名稱欄位中輸入類型,然後選擇核取記號圖示。
6. 選擇方法執行窗格。
7. 選擇整合請求。
8. 展開 URL 查詢字串參數區段。
注意: 依預設,方法請求查詢字串參數會映射至類似名稱的整合請求查詢字串參數。若要檢視此內容,請重新整理 API 閘道主控台頁面。若要將方法請求參數映射至不同的整合請求參數,請先刪除現有的整合請求參數。然後,使用所需的方法請求參數映射表達式新增新的查詢字串。
9. 選擇儲存,然後選擇部署 API。
10. 若要測試 API 的新端點,請執行下列 curl 命令:
curl -X GET https://jp58lnf5vh.execute-api.us-west-2.amazonaws.com/dev/http-endpoint?pet=dog
重要事項: 確保 curl 命令具有查詢字串參數 pet=dog。
相關資訊
教學課程: 使用 Lambda 代理整合建置 Hello World REST API
教學課程: 使用 Lambda 非代理整合建置 API 閘道 REST API
教學課程: 使用 HTTP 代理整合建置 REST API
教學課程: 使用 HTTP 非代理整合建置 REST API