转换速度模板时出错

Posted

技术标签:

【中文标题】转换速度模板时出错【英文标题】:Error transforming the velocity template 【发布时间】:2019-01-06 08:20:56 【问题描述】:

我正在将 aws-appsync 与 dynamodb 一起使用。我刚刚注意到一些事情: 我使用“扫描,过滤”来查询我的数据,我想返回一个对象, 这是我的解析器:$util.toJson($ctx.result.items[0])

如果过滤的数据不为null,则数据返回成功,但当数据不存在时,返回错误如下:

“”:

在使用“扫描”时是否有任何解决方法可以返回对象?

【问题讨论】:

【参考方案1】:

有两种方法:

#if( ! $ctx.result.items )
  $util.toJson($ctx.result.items[0])
#else
  null ## Or any default value you'd like to return from here
#end

您可以参考VTL documentation 了解更多信息。

除此之外,AWS AppSync 还提供multiple utility methods,因此您可以使用一种受支持的实用程序方法$util.defaultIfNull(Object, Object) : Object 来实现相同目的。

谢谢, 尚卡尔

【讨论】:

以上是关于转换速度模板时出错的主要内容,如果未能解决你的问题,请参考以下文章

在 Play 中查看 scala html 模板时出错

Saxon HE - XSLT 转换 - 尝试运行命令行代码时出错

调用模板函数出错

TemplateInputException:解析模板时出错****,模板可能不存在

在成员变量中使用模板类作为模板模板参数时出错

AWS SAM 模板中的 Auth 部分出错