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

在AWS::Serverless::Api SAM模板中定义URL查询字符串参数

储思聪
2023-03-14

如何在SAM模板中定义和验证AWS::无服务器::Api的URL查询字符串参数?

文档中似乎没有提到它们https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-resource-api.html

共有2个答案

费星晖
2023-03-14

URL查询字符串参数是在AWS::Serverless::函数中定义的,而不是在AWS::Serverless::Api中使用RequestParameters属性定义的。

例如,要将邮件姓名电话定义为URL查询字符串参数,可以执行以下操作:

Events:
  ApiEvent:
  Type: Api
  Properties:
    Path: /path
    Method: get
    RequestParameters:
      - method.request.querystring.mail:
          Required: true
          Caching: true
      - method.request.querystring.name:
          Required: true
          Caching: true
      - method.request.querystring.phone:
          Required: false
          Caching: false

您还可以使用以下内容定义HTTP请求头:

method.request.header.{{header_name}}
// For example: method.request.header.Authorization

我希望这有帮助。

顾穆冉
2023-03-14

我认为你的回应是在另一个资源,AWS::ApiGateway::方法。

检查留档(搜索请求参数):

APIhtml" target="_blank">网关接受的请求参数。将请求参数指定为键值对(字符串到布尔映射),以源作为键,以布尔值作为值。布尔值指定是否需要参数。源必须与method.request.location.name格式匹配,其中位置为querystring、path或header,并且名称是有效的唯一参数名称。

https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-method.html#cfn-apigateway方法请求参数

 类似资料:
  • 有没有办法不在方法请求和集成请求中定义URL查询字符串参数,并将查询字符串传递给HTTP代理? 例如,在https://{api id}-api.us-east-1.amazonaws.com/test/user?start=1 查询字符串1. start 2. end 若我把URL查询字符串参数放在方法请求和集成请求中,那个么我就能够得到这两个查询字符串。然而,如果我不添加它们并在postman

  • 问题内容: 从格式如下的URL查询字符串中获取参数的“较少代码”方法是什么? www.mysite.com/category/subcategory?myqueryhash 输出应为: 我知道这种方法: 问题答案: 包含您要查找的数据。 文件资料 **php.net:$** _SERVER-手册

  • 问题内容: 从Java脚本的路径中删除查询字符串的简便方法是什么?我已经看到了使用window.location.search的Jquery插件。我不能这样做:在我的情况下,URL是从AJAX设置的变量。 问题答案: 一个简单的方法是: 对于那些还希望在不存在querystring的情况下删除哈希(不是原始问题的一部分)的人,需要做更多的工作: 编辑 @caub(最初为@crl)建议了一个更简单的

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

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

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