【问题标题】:How to modify a query parameter in AWS API Gateway in the integration request for an HTTP Proxy如何在 HTTP 代理的集成请求中修改 AWS API Gateway 中的查询参数
【发布时间】:2016-10-27 13:23:49
【问题描述】:

我有一个面向客户端的 API,它采用查询参数 Time。格式为14:00:00。最初它将通过此​​查询参数传递到后端端点。然而,后端端点(我无法控制)现在期待0001-01-01T14:00:00 格式的时间。

是否可以在将查询参数的值传递到 AWS API Gateway 之前对其进行修改?

我知道您可以使用映射模板修改请求正文,并且在模板中您可以访问 queryParameters,但是您可以更改它们,以便修改对后端?

我看到了这个:

https://forums.aws.amazon.com/thread.jspa?messageID=696524&#696524

但用户说他放弃尝试修改


我现在能想到的潜在解决方法是将参数传递给 lambda,让 lambda 构建并使用修改后的值发出请求,并将响应作为 lambda 的返回值

【问题讨论】:

    标签: amazon-web-services aws-lambda aws-api-gateway


    【解决方案1】:

    我想你基本上回答了你自己的问题:)

    1. 无法转换查询或标头请求参数。所有转换都需要在身体映射模板中进行。
    2. 最佳解决方法是将请求转发到 Lambda 函数,以将参数调整为预期的形状

    【讨论】:

      【解决方案2】:

      现在可以使用速度模板覆盖映射模板中的查询字符串,例如:

      $context.requestOverride.querystring.time="_your_transformed_data_"
      

      docs

      【讨论】:

        猜你喜欢
        • 2021-04-20
        • 1970-01-01
        • 2016-07-02
        • 1970-01-01
        • 1970-01-01
        • 2021-08-08
        • 2021-08-05
        • 2020-01-22
        • 2020-10-01
        相关资源
        最近更新 更多