AWS API Gateway集成请求正文映射模板抛出传入的值

时间:2017-12-24 00:09:21

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

我在使用AWS API Gateway时遇到问题,其中我的所有输入组合都有效,除了它抛出另一个传入值的那个。

这是我的模板......

/user/{username}/say/{greet}

我的网址是{{1}}

当我测试端点并且没有发送问候语或用户名时,它可以工作。当我发送问候语但没有用户名时,它可以正常工作。当我发送问候语和用户名时,它会起作用。 (通过“工作”我的意思是它将值传递给我的lambda函数。)

但由于某种原因,当我发送用户名但没有问候语时,映射完全抛出用户名并且不发送它(就像$ name =''一样)。它仍然转到正确的端点,因为正确的lambda函数执行,映射只发送一个空对象而不是一个只有name属性的对象。

谁能看到我做错了什么?

1 个答案:

答案 0 :(得分:0)

你的映射很好。我猜你的API网关配置需要针对空问候的情况进行调整。

如果不存在问候语,AWS不会执行变量后面的方法绑定,而是执行父资源(在这种情况下是' /说' -method绑定)。所以你需要两个方法定义,一个有问候,一个没有。两者都可以完全相同,因为您的映射模板支持两种结果。

api resource structure