我在使用AWS API Gateway时遇到问题,其中我的所有输入组合都有效,除了它抛出另一个传入的值。
这是我的模板......
#set($greet = $input.params('greet'))
#set($name = $input.params('username'))
{
#if($greet != "")
"greet": "$greet"
#if($name != "")
,
#end
#end
#if($name != "")
"name": "$name"
#end
}
我的网址是/user/{username}/say/{greet}
当我测试端点并且没有发送问候语或用户名时,它可以工作。当我发送问候语但没有用户名时,它可以正常工作。当我发送问候语和用户名时,它会起作用。 (通过“工作”我的意思是它将值传递给我的lambda函数。)
但由于某些原因,当我发送用户名但没有问候语时,映射完全抛出用户名并且不发送它(就好像$ name ='')。它仍然转到正确的端点,因为正确的lambda函数执行,映射只发送一个空对象而不是只具有name属性的对象。
谁能看到我做错了什么?