我正在使用API网关来构建补丁方法。
在那时Integration Request - Mapping Template
我添加了:
{ "id": "$input.params('subscription-id')",
"env": "$stageVariables['env']",
"street": $input.json('street'),
"address_name": $input.json('address_name'),
"payment_day": $input.json('payment_day'),
}
作为补丁http方法,用户的API不需要传递所有参数。
因此,如果用户没有通过,例如payment_day,该字段将为''
。 ''
可以是有效值字段。所以我有两个选择:
是否可以在API Gateway Integration Request -Mapping Template
上执行此操作?有没有人有解决方法?
答案 0 :(得分:1)
您可以使用Velocity Conditionals仅输出可选值(如果存在)。
或者,如评论中所述,您可以使用$input.json('$')
传递整个JSON正文,并处理Lambda函数中是否存在。