【发布时间】:2021-08-27 20:15:56
【问题描述】:
我似乎不知道如何在我的资源的集成请求中使用映射模板创建可选的查询字符串参数。
我的模板如下所示:
{ "limit": "$input.params('limit')", "post_date":"$input.params('post_date')" }
我希望 'limit' 和 'post_date' 是可选的。当未提供这些参数时,此模板会创建一个如下所示的查询字符串:
/myresource?limit=undefined&
当我期待时:
/myresource
Docs 似乎没有涵盖这一点。我在文档中找到了一些示例模板,它们使用类似 bash 的语法来提供条件功能。我已尝试测试以下内容,但无法在 AWS 控制台中验证:
#set($limit = $input.path('limit'))
{
#if($limit)"limit": "$input.params('limit')",#end
}
我走对了吗?
谢谢!
【问题讨论】:
-
我认为你应该定义所有可能的参数,然后在你的后端处理
undefined。 -
您是否使用
Lambda作为后端? -
@napalm 这就是我现在正在做的事情。真的是AWS?!那很蹩脚。 Lambda -> 是的
-
真的不蹩脚,处理管道是基于JS的。它无法知道你是否故意传入
undefined。 -
@napalm 一定是这样。无论如何,我正在后端处理这个问题。谢谢你的想法。
标签: amazon-web-services aws-lambda aws-api-gateway