Velocity映射模板,用于在API网关中将请求体连接到路径参数

时间:2017-11-03 05:16:02

标签: json amazon-web-services velocity aws-api-gateway

我试图返回以下JSON对象:

{
"confirmationNumber": "TESTABC",
"clientExternalId": "testymctesterson@gmail.com",
"leftVoiceMessage": true,
"preferredStylist": true,
"timezone": "America/Los_Angeles",
"phoneNumber": "(123) 456-7890",
"smsEnabled": "true"
}

确认号是唯一的路径参数。我想通过循环并返回正文中的键/值对来加入路径参数和请求体,以便我可以使用一个模板。这个模板几乎让我在那里,但它返回布尔值作为字符串:

{
#foreach($param in $input.params().path.keySet())
"$param": "$util.escapeJavaScript($input.params().path.get($param))"#if($foreach.hasNext),#end
#end,
#foreach($key in $input.path('$').keySet())
"$key": "$util.escapeJavaScript($input.path('$').get($key))"#if($foreach.hasNext),#end
#end
}

我想做这样的事情,但转换后你会在请求体周围得到一组额外的括号:

{
#foreach($param in $input.params().path.keySet())
"$param": "$util.escapeJavaScript($input.params().path.get($param))"#if($foreach.hasNext),#end
#end,
$input.json('$')
}

有没有办法在不对JSON进行字符串操作或硬编码密钥的情况下获取所需的JSON对象?

0 个答案:

没有答案