Velocity Apache 访问地图中不存在的元素
Velocity Apache accessing element in map that doesn't exist
我正在尝试从附加到客户端请求的 header 中提取字符串。
{
"version": "2017-02-28",
"operation": "Invoke",
"payload": {
"type": "Query",
"resolver": "apiContext",
"arguments": $utils.toJson($context.arguments),
"contextToken": "$context.request.headers["context-token"]"
}
}
如果客户端通过header,它能够提取内容是否包含空值、未定义、数字或字符串值。但是,当我尝试在没有 header 的情况下命中此请求时(意思是没有 contect-token header),传递给我的 AWS lambda 处理程序的值包含 "contextToken": "$context.request.headers["context-token"]"
并且我得到一个错误 Unexpected character ('c' (code 99)): was expecting comma to separate Object entries at [Source: (String)"
。我正在努力弄清楚如何传递 header 的值,前提是它存在于 headers 映射中。
您可以使用 Velocity 静默参考:
"contextToken": "$!context.request.headers['context-token']"
我正在尝试从附加到客户端请求的 header 中提取字符串。
{
"version": "2017-02-28",
"operation": "Invoke",
"payload": {
"type": "Query",
"resolver": "apiContext",
"arguments": $utils.toJson($context.arguments),
"contextToken": "$context.request.headers["context-token"]"
}
}
如果客户端通过header,它能够提取内容是否包含空值、未定义、数字或字符串值。但是,当我尝试在没有 header 的情况下命中此请求时(意思是没有 contect-token header),传递给我的 AWS lambda 处理程序的值包含 "contextToken": "$context.request.headers["context-token"]"
并且我得到一个错误 Unexpected character ('c' (code 99)): was expecting comma to separate Object entries at [Source: (String)"
。我正在努力弄清楚如何传递 header 的值,前提是它存在于 headers 映射中。
您可以使用 Velocity 静默参考:
"contextToken": "$!context.request.headers['context-token']"