我收到来自 AWS Lambda 的 JSON 响应,如下所示: AWS API-网关:-
[
{
"key1" : "fruit",
"key2" : "citrus",
"key3" : {
"key31" : "lemon",
"key32" : "orange",
"key33" : "lime"
}
},
{
"key1" : "vegetable",
"key2" : "green",
"key3" : {
"key31" : "spinach",
"key32" : "lettuce",
"key33" : "cabbage"
}
}
]
在从API网关发送到客户端应用程序之前,我想按如下所示修改响应中的键:
[
{
"category" : "fruit",
"subCategory" : "citrus",
"examples" : {
"eg1" : "lemon",
"eg2" : "orange",
"eg3" : "lime"
}
},
{
"category" : "vegetable",
"subCategory" : "green",
"examples" : {
"eg1" : "spinach",
"eg2" : "lettuce",
"eg33" : "cabbage"
}
}
]
在 AWS ApiGateway 中,我们具有映射模板,可使用 Apache Velocity 转换来自Lambda并从API网关发出的响应。 我正在使用 application / json 格式创建映射模板。
下面是我为转换编写的代码-
#set($inputRoot = $input.path('$'))
[
#foreach($elem in $inputRoot)
{
"category": "$elem.key1",
"subCategory": "$elem.key2",
"examples" : #set($example in $elem.key3)
{
"eg1" : "$example.key31",
"eg2" : "$example.key32",
"eg3" : "$example.key33"
}#end
}#if($foreach.hasNext),#end
#end
]
我按如下所示从api网关收到的响应---
{
"message": "Internal server error"
}
我对API网关还是陌生的,因此,如果有人可以提供帮助,那将非常好。