如果你想要在API网关中设置自定义标头,并且希望这些标头在请求通过网关后仍然保留,可以使用AWS Lambda函数来自动将自定义标头添加到传出的响应中。
以下是一个基于AWS API网关和Lambda的示例代码:
Lambda函数代码(使用Node.js):
exports.handler = async (event) => {
// 从事件中获取传入的标头
const customHeader = event.headers['X-Custom-Header'];
// 处理请求并返回响应
const response = {
statusCode: 200,
body: 'Hello from Lambda!',
headers: {
'Content-Type': 'text/plain',
'X-Custom-Header': customHeader // 将自定义标头添加到响应中
}
};
return response;
};
在API网关中配置Lambda集成:
#set($inputRoot = $input.path('$'))
{
"statusCode": 200,
"body": $inputRoot.body,
"headers": {
"Content-Type": "text/plain",
"X-Custom-Header": "$input.params().header.get('X-Custom-Header')"
}
}
现在,当你通过API网关发送请求时,它将被转发到Lambda函数进行处理。Lambda函数将自定义标头添加到响应中,并将其返回给API网关。然后,API网关将该响应返回给调用方,并确保自定义标头保持不变。