身体映射模板中引用后的点(AWS API 网关)
Posted
技术标签:
【中文标题】身体映射模板中引用后的点(AWS API 网关)【英文标题】:Dot after Reference in Body Mapping Template (AWS API Gateway) 【发布时间】:2018-12-16 23:55:39 【问题描述】:是否可以在 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】:你可以使用curly braces来标记变量的开始和结束:
"url": "https://$apiid.execute-api.$region.amazonaws.com/$stage/$path"
如果您需要明确地将 Velocity 指令与周围的文本分开,可以将其包裹在花括号( 和 )中:
【讨论】:
效果很好!感谢您的快速回复。以上是关于身体映射模板中引用后的点(AWS API 网关)的主要内容,如果未能解决你的问题,请参考以下文章
AWS:使用 cloudformation 模板将 WAF 附加到 api 网关