身体映射模板中的引用后点(AWS API网关)

时间:2018-07-09 10:18:13

标签: amazon-web-services aws-api-gateway string-concatenation vtl apache-velocity

是否可以在API Gateway的主体映射模板中的引用之后直接使用点?

我像这样做字符串缩写:

#set($region = "us-east-2")
#set($apiid = "$context.apiId")
#set($stage = "$context.stage")
#set($path = "search/stac")

"url": "https://$apiid.execute-api.$region.amazonaws.com/$stage/$path"

问题在于$ apiid和$ region未被取消引用。结果看起来像这样。

"url: "https:// .execute-api. .amazonaws.com/dev/search/stac

如果我使用没有字符串连接的引用,则它们具有预期值。因此 #set 操作似乎是正确的。

我认为它将引用后的点误认为是函数调用。 如何用Velocity模板语言转义点?

1 个答案:

答案 0 :(得分:1)

You can use curly braces上,以标记变量的开头和结尾:

"url": "https://${apiid}.execute-api.${region}.amazonaws.com/$stage/$path"
  

如果您需要将Velocity指令与周围的文本明确分开,可以将其包装在花括号({和})中: