如何在 HTTP 代理的集成请求中修改 AWS API 网关中的查询参数

How to modify a query parameter in AWS API Gateway in the integration request for an HTTP Proxy

我有一个面向 API 的客户端,它接受一个查询参数 Time。格式为 14:00:00。最初它会通过这个查询参数传递给后端端点。但是,后端端点(我无法控制)现在需要 0001-01-01T14:00:00.

格式的时间

在 AWS API 网关中传递之前是否可以修改查询参数的值?

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

我看到了这个:

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

但用户表示放弃尝试修改


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

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

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

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

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

docs