在我的AWS AppSync请求解析器中。我想返回一个具有一些属性和空数组作为值的对象

时间:2019-04-20 20:00:46

标签: aws-appsync

我正在使用AWS AppSync管道功能。在我的请求映射模板中,我想根据某些条件进行分配。

我正在设置变量分布。具有空数组属性的变量分布。

示例:

request.vtl

1:最初,我正在设置变量分布

#set($distribution={
  "NotAnswered": [],
  "NeedsWork": [],
  "AlmostThere": [],
  "Mastered": []
})

2:处理和分配分发。

注意:如果没有商品,只需返回步骤1的分配。

#foreach($itemScore in $itemScores)
  #if($itemScore.score == 100)
    $distribution.Mastered.add($itemScore.itemId)
  #elseif($itemScore.score >= 80)
    $distribution.AlmostThere.add($itemScore.itemId)
  #else
    $distribution.NeedsWork.add($itemScore.itemId)
  #end
#end

3:$ util.toJson($ distribution)

在我的响应映射模板中,我试图返回所需的格式。

response.vtl

4:返回结果

#set($metadata={})
#set($distribution = {})
$util.qr($distribution.put('notAnswered', $result.NotAnswered.size()))
$util.qr($distribution.put('NeedsWork', $result.NeedsWork.size()))
$util.qr($distribution.put('NeedsWork', $result.NeedsWork.size()))
$util.qr($distribution.put('Mastered', $result.Mastered.size()))
$util.qr($metadata.put('distribution', $distribution))
$util.qr($term.put('metadata', $metadata))

获取错误 “ message”:“不支持的元素'$ [NotAnswered]'。”

谢谢!

0 个答案:

没有答案