我在AWS API Gateway中有一个API,可以将请求转发到另一个HTTP端点。我知道我可以在" Integration Request"中映射查询字符串参数。但我想将参数的值转发为另一个端点的路径的一部分。例如,让我们说我的API调用是:
https://40gwfw20bg.execute-api.eu-west-1.amazonaws.com/beta?id=1234
我希望网关在路径中调用另一个端点传递id
的值:
http://external.api.com/1234
这可能吗?
答案 0 :(得分:1)
是的,这与this question
非常相似虽然您可以使用Lambda函数,但您也可以使用基本请求映射直接从API Gateway执行此操作。
在API网关中定义API并转到根资源。
添加GET方法。
在“方法执行”窗格中,选择“方法请求”。展开“URL查询字符串参数”点击“添加查询字符串”输入id作为名称,然后点击右侧的复选框进行保存。
返回“方法执行”窗格,选择“集成请求”。编辑端点URL以添加路径参数(如果尚未添加)。该网址应为:http://external.api.com/ {id}
选择“网址路径参数”旁边的箭头以展开该部分。单击“添加路径”。输入id作为名称在“Mapped from”下输入:method.request.querystring.id单击右侧的复选框进行保存。
返回Method Execution并单击Test。在查询字符串下添加一个id值,然后单击test。
中有一些类似的例子