当前位置: 首页 > 知识库问答 >
问题:

AWS Api网关硬编码查询字符串参数

阚吕恭
2023-03-14

但是,有没有可能在API网关中硬编码访问令牌,将其传递到目的地,这样用户就不必将其包含在请求中了呢?

或者我唯一的选择就是为了这个做一个兰姆达...?

共有1个答案

潘俊
2023-03-14

我用terraform创建了这些资源。下面是一个使用Terraform的api集成示例:

resource "aws_api_gateway_integration" "api_store_get_integration" {
  rest_api_id               = "${aws_api_gateway_rest_api.service_api.id}"
  resource_id               = "${aws_api_gateway_resource.store.id}"
  http_method               = "${aws_api_gateway_method.store_get.http_method}"
  integration_http_method   = "GET"
  type                      = "HTTP_PROXY"
  uri                       = "${var.yext_base_url}entities"
  passthrough_behavior      = "WHEN_NO_MATCH"
  request_parameters = {
    "integration.request.header.api-key"      = "'${var.yext_api_key}'",
    "integration.request.header.content-type" = "'application/json'",
    "integration.request.querystring.filter"  = "method.request.querystring.filter",
    "integration.request.querystring.v"       = "'20191001'"
  }
}

解释说:

  1. api将接收请求
  2. 它将get请求转发到已定义的URI:var.yext_base_url/entities
  3. 它将把api-key头附加到请求中,并将一个变量传递给Terraform
  4. 它会将content-type头附加到带有静态值的请求
  5. 它将用静态值“20191001”
  6. 追加查询参数 V
 类似资料:
  • 问题内容: 说我有一个网址 并且我有一个用户输入的查询,例如: 随机词银行 我希望结果是正确编码的URL: 实现此目标的最佳方法是什么?我尝试创建URI / URL对象,但没有一个是正确的。 问题答案: 应该是要走的路。你只需要记住只对单个查询字符串参数名称和/或值进行编码,而不对整个URL 进行编码,请确保对查询字符串参数分隔符和参数名称-值分隔符都不进行编码。 请注意,查询参数中的空格由+而不

  • 假设我有一个URL 并且我有一个用户输入的查询,例如: 随机字500英镑银行$ 我希望结果是一个正确编码的URL: 实现这一点的最佳方法是什么?我尝试了并创建URI/URL对象,但结果都不是很对。

  • 问题内容: 我有一个网址 并且我有一个用户输入的查询,例如: 我希望结果是正确编码的URL: 实现此目标的最佳方法是什么?我尝试创建URI / URL对象,但是没有一个是正确的。 问题答案: 可以使用 。您只需要记住只对单个查询字符串参数名称和/或值进行编码,而不对整个URL 进行编码,请确保对查询字符串参数分隔符&和参数名称-值分隔符都不进行编码=。 请注意,查询参数中的空格由而不是表示,这是合

  • 我从客户端发送了以下查询字符串参数 在REST服务器中,我如何接收上述格式并正确分配给每个类别? 更新1 参数的值为 {_=[1437904506062],{“take”:75,“skip”:0,“page”:1,“pageSize”:75、“filter”:{“logic”:“and”,“filters”:〔{“field”:“prodCode”,“operator”:“eq”,“value”:

  • 问题内容: 您是否知道将Javascript对象编码为可通过请求传递的快速简单的方法? 不,没有其他框架-只是纯Javascript :) 问题答案: 像这样? 编辑:这也将转换递归对象(使用php“ array”表示法作为查询字符串)