【发布时间】:2016-05-02 23:36:13
【问题描述】:
我正在寻找这个问题的哈希值:How to pass array query params to AWS API Gateway?
基本上,我想设置如下所示的查询参数:
example.com?color[background]=yellow&color[foreground]=black
当我尝试在 API Gateway 控制台中创建名为 color[background] 的查询参数时,我收到以下错误消息:
Invalid mapping expression specified: Validation Result: warnings : [], errors : [Parameter name should be a non-empty alphanumeric string]
我还尝试设置 color 查询参数,然后将各种“哈希”传递给它。这是我尝试传递给此参数的内容:
-
{"background" => 123, "foreground" => "abc"}并删除空格 -
{"background" : 123, "foreground" : "abc"}并删除空格 {background:123,foreground:abc}
它们都会产生某种形式的example.com?color=%7Bbackground:123,foreground:abc%7D 请求,而我传递的哈希值在= 之后。
有什么想法吗?无论如何,这对查询字符串参数来说是不好的做法,我应该坚持使用简单的参数吗?
【问题讨论】:
-
您可以传递一个哈希值,但您不能指望 API Gateway 能够理解您想要表达的意思……此时它只是一个字符串值……但是……它是否支持键名中的点?如果我只是为没有特定平台设计 API,我倾向于使用
?color.background=yellow&color.background=black来提高可读性,但这可能不是“字母数字”,具体取决于他们使用该术语的松散程度。 -
@Michael-sqlbot -- 谢谢!我打算这样做。
标签: amazon-web-services aws-api-gateway