API Gateway提供了通过代理将请求中的请求头映射到路径参数的功能。可以使用期望参数的占位符来定义路径参数模板。例如,将“X-MyHeader”请求头映射到路径的示例代码如下:
Integration Request映射模板:
{
"myParam": "$util.escapeUriPathSegment($input.params().header.get('X-MyHeader'))"
}
其中,“myParam”是期望路径参数的名称。在URI路径模板中,将在路径中添加以下内容:
/{proxy+}/{myParam}
这将在您的AWS Lambda函数中传递两个参数 -
event.pathParameters.proxy
和
event.pathParameters.myParam
所以,如果您从您的客户端发送的请求头中包含了“MyHeader”标头,则将以以下方式发送到API Gateway:
GET /mypath/myresource/myvalue HTTP/1.1
Host: api.example.com
X-MyHeader: myvalue
并且将触发以下参数传递到lambda function:
{
"proxy": "mypath/myresource",
"myParam": "myvalue"
}