我正在尝试创建一个模板,将查询字符串参数中的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": [
]
}
我究竟做错了什么?
这是一个解决方案:使用.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"
}
]
}