【问题标题】:Convert query string to path in API Gateway将查询字符串转换为 API Gateway 中的路径
【发布时间】:2017-05-20 07:19:33
【问题描述】:

我在 AWS API Gateway 中有一个 API,可以将请求转发到另一个 HTTP 端点。我知道我可以在“集成请求”中映射查询字符串参数。但是我想将参数的值作为路径的一部分转发到另一个端点。例如,假设对我的 API 的调用是:

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

我希望网关调用另一个端点,并在路径中传递id 的值:

http://external.api.com/1234

这可能吗?

【问题讨论】:

    标签: aws-api-gateway


    【解决方案1】:

    是的,这和this question非常相似

    虽然您可以为此使用 Lambda 函数,但您也可以使用基本请求映射直接从 API Gateway 执行此操作。

    在 API Gateway 中定义您的 API 并转到根资源。

    添加 GET 方法。

    在“方法执行”窗格中,选择“方法请求”。展开“URL查询字符串参数”点击“添加查询字符串”输入id作为名称并点击右侧的复选框保存。

    返回“方法执行”窗格,选择“集成请求”。编辑您的端点 URL 以添加路径参数(如果您尚未这样做)。 URL 应为:http://external.api.com/{id}

    选择“URL 路径参数”旁边的箭头以展开该部分。单击“添加路径”。输入id作为名称在“Mapped from”下输入:method.request.querystring.id 点击右边的复选框保存。

    返回方法执行并单击测试。在查询字符串下添加一个 id 值,然后点击测试。

    documentation here中有一些类似的例子

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-04-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-06-13
      • 2012-11-23
      相关资源
      最近更新 更多