【问题标题】:How to get AWS API Gateway invoke URL in an AWS Lambda function?如何在 AWS Lambda 函数中获取 AWS API Gateway 调用 URL?
【发布时间】:2018-08-28 14:08:10
【问题描述】:

我正在使用代理与我的 Java lambda 函数的集成。 lambda 处理程序的输入是表示传入请求的 JSON 对象。它有正文、标题、查询参数等。但它不包括API网关为body、查询参数等解析的源URL。有没有办法得到它?

问题是 API Gateway 不支持查询参数中的数组。示例:/endpoint?numbers=1&numbers=2。似乎,传递数组的唯一方法是将其作为 JSON 数组字符串 /endpoint?numbers=[1,2] 传递,但它并不总是合适的。所以我想自己解析网址。

【问题讨论】:

  • 这种情况是否发生了变化,或者自从发布后有人找到了获取完整 URL 的方法?

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


【解决方案1】:

很遗憾,API Gateway 没有为您提供完整的 URL 供您自己解析。

如果您可以选择使用POST 方法到/endpoint,您可以考虑发送请求正文而不是查询字符串参数。

【讨论】:

  • 这种情况是否发生了变化,或者有没有人找到获取完整 URL 的方法?
【解决方案2】:

'requestContext' 字段中的 'path' 字段包含 API 网关资源的路径。有关详细信息,请参阅docs

【讨论】:

  • “路径”值不包括请求 url 的查询参数部分。
猜你喜欢
  • 2020-05-28
  • 2017-12-07
  • 2022-01-27
  • 2019-06-03
  • 2020-08-21
  • 2019-10-17
  • 2017-01-07
  • 2018-03-07
相关资源
最近更新 更多