2017-05-19 97 views
0

我在AWS API網關中有一個API將請求轉發給另一個HTTP端點。我知道我可以在「集成請求」中映射查詢字符串參數。但是我想將參數的值作爲路徑的一部分轉發到另一個端點。例如,假設我的API的調用是:將查詢字符串轉換爲API網關中的路徑

https://40gwfw20bg.execute-api.eu-west-1.amazonaws.com/beta?id=1234 

我希望網關呼叫其他端點傳遞的id值路徑:

http://external.api.com/1234 

這可能嗎?

回答

1

是的,這是非常相似的this question

雖然你可以使用lambda功能,您還可以使用基本的請求映射做到直接從API網關。

在API網關中定義您的API並轉到根資源。

添加GET方法。

在Method Execution窗格中,選擇Method Request。展開「URL查詢字符串參數」點擊「添加查詢字符串」輸入id作爲名稱,並點擊右邊的複選框進行保存。

回到方法執行窗格,選擇集成請求。如果您尚未這樣做,請編輯您的端點URL以添加路徑參數。該網址應爲:http://external.api.com/ {id}

選擇「URL路徑參數」旁邊的箭頭展開該部分。點擊「添加路徑」。輸入id作爲名稱在「Mapped from」下輸入:method.request.querystring.id單擊右側的複選框進行保存。

返回到「方法執行」並單擊「測試」。在查詢字符串下添加一個id值並單擊test。

documentation here

中有一些相似的例子