我似乎无法将API网关中的Cookie标头映射到我的lambda的输入。我已经设置了以下正文映射模板:
{
"rawCookieString" : "$input.params().header.get('Cookie')"
}
并且无法映射Cookie标头,并将该字段留空。如果我将Cookie更改为任何其他标题,例如“测试”,它可以正常工作!任何想法为什么Cookie标题似乎被忽略?
答案 0 :(得分:1)
昨天我遇到了同样的问题。我通过更改要发送给lambda的cookie值来解决这个问题。
原因可能是你的格式不正确。
如果你发送这样的cookie:
curl -v --cookie "CXLZOYXA" https://XXXXXX.execute-api.ap-southeast-2.amazonaws.com/beta/pets
cookie不会被添加到请求标头的标头中(在AWS API Gateway中,您可以获取cookie)。
> GET /beta/pets HTTP/1.1
> Host: p6useiue14.execute-api.ap-southeast-2.amazonaws.com
> User-Agent: curl/7.43.0
> Accept: */*
>
如果你发送这样的cookie:
curl -v --cookie "name=CXLZOYXA" https://XXXXX.execute-api.ap-southeast-2.amazonaws.com/beta/pets
将cookie添加到请求标头的标头中。
> GET /beta/pets HTTP/1.1
> Host: p6useiue14.execute-api.ap-southeast-2.amazonaws.com
> User-Agent: curl/7.43.0
> Accept: */*
> Cookie: name=CXLZOYXA
>