如何在Amazon API Gateway映射模板中引用查询字符串列表/数组参数?

问题描述 投票:0回答:1

我正在尝试创建一个模板,将查询字符串参数中的id数组映射到json模板。我似乎无法弄明白该怎么做。这是我到目前为止:

{
    "raw_ids_param_value": "$input.params('ids')",
    "mapped_ids": [
        #foreach($id in $input.params('ids'))
            {
                "id": "$id",
                "foo": "bar"
            }
            #if($foreach.hasNext),#end
        #end
    ]
}

当我发出请求时,你可以看到ids param是可用的,但是当我尝试迭代它时它什么也没做:

GET /endpoint?ids=1,2,3
{
    "raw_ids_param_value": "1,2,3",
    "mapped_ids": [

    ]
}

我究竟做错了什么?

amazon-web-services aws-api-gateway
1个回答
0
投票

这是一个解决方案:使用.split(',')将字符串拆分为数组。

{
    "mapped_ids": [
        #foreach($id in $input.params('ids').split(','))
            {
                "id": "$id",
                "foo": "bar"
            }
            #if($foreach.hasNext),#end
        #end
    ]
}

结果:

GET /endpoint?ids=1,2,3
{
    "mapped_ids": [
        {
            "id": "1",
            "foo": "bar"
        },
        {
            "id": "2",
            "foo": "bar"
        },
        {
            "id": "3",
            "foo": "bar"
        }
    ]
}
© www.soinside.com 2019 - 2024. All rights reserved.