gpt4 book ai didi

amazon-web-services - 如何将多值查询字符串参数传递给 api 网关上的 lambda?

转载 作者:行者123 更新时间:2023-12-05 01:36:16 26 4
gpt4 key购买 nike

我正在使用带有 lambda 的 aws 集成 api 网关,并且我有数据映射模板。带有查询的 url 就像

https://example.com/query?value1=val1&value1=val2&value1=val3

我正在尝试将所有这些参数传递给 lambda,但没有成功——只传递了最后一个值。这是数据映射模板的一部分。

            "queryStringParameters": {
#foreach($queryParam in $input.params().querystring.keySet())
"$queryParam": "$util.escapeJavaScript($input.params().querystring.get($queryParam))" #if($foreach.hasNext),#end
#end
},

我知道 aws 代理集成中有 multivaluequerystringparameters,但没有运气使用数据映射模板找到它们。这是测试结果:

Method request query string: {value1=[val1,val2,val3]}
Endpoint request body after transformations: "queryStringParameters": {"value1": "val3"}

尝试像在 VTL 中一样使用#foreach 遍历该参数,但也没有成功

最佳答案

经过大量的文档搜索和尝试,我只是将其写在映射模板中(幸运...):

    "multiValueQueryStringParameters": {
#foreach($key in $method.request.multivaluequerystring.keySet())
"$key" : [
#foreach($val in $method.request.multivaluequerystring.get($key))
"$val"#if($foreach.hasNext),#end
#end
]#if($foreach.hasNext),#end
#end
},

无需在方法和集成部分定义任何查询参数名称。

关于amazon-web-services - 如何将多值查询字符串参数传递给 api 网关上的 lambda?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62202123/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com