1

我正在为 aws appsync 编写请求解析器,我的宏不起作用

我尝试将其简化为最简单的形式,如下面的代码所示,它只返回 #addArgs() 而不是“test”

#set( $argNames  = {} )

#macro( addArgs)
"test"
#end

#addArgs()
#foreach( $entry in $arguments.entrySet() )
    $!{argNames.put("$entry.key", $entry.value)}
#end

{
"version": "2017-02-28",
"operation": "Invoke",
"payload": {
    "body": {
        "args": $util.toJson($argNames)
    },
    "headers": {
        "Authorization": "$ctx.request.headers.Authorization",
    }
}
}

我希望在运行测试时得到“测试”这个词,但我得到的是#addArgs。

4

2 回答 2

3

AppSync 的 VTL 中不支持宏

于 2019-06-05T05:30:10.033 回答
1

正如@Jose A 所说,尚不支持宏。这是功能请求的一个问题:

https://github.com/aws/aws-appsync-community/issues/90

于 2021-09-03T20:50:56.000 回答