使用AWS API Gateway构建补丁方法

时间:2016-03-16 13:02:52

标签: amazon-web-services aws-lambda aws-api-gateway

我正在使用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,该字段将为''''可以是有效值字段。所以我有两个选择:

  • 在payment_day字段上添加NULL值。
  • 从JSON请求中删除payment_day。

是否可以在API Gateway Integration Request -Mapping Template上执行此操作?有没有人有解决方法?

1 个答案:

答案 0 :(得分:1)

您可以使用Velocity Conditionals仅输出可选值(如果存在)。

或者,如评论中所述,您可以使用$input.json('$')传递整个JSON正文,并处理Lambda函数中是否存在。