我正在使用与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代理集成中有多值查询字符串参数,但是在使用数据映射模板时找不到它们。以下是测试结果:
Method request query string: {value1=[val1,val2,val3]}
Endpoint request body after transformations: "queryStringParameters": {"value1": "val3"}
尝试使用#foreach在VTL中遍历该参数,但也没有成功。