API Gateway支持在路径参数中使用贪婪匹配和非贪婪匹配。贪婪匹配是通过在子路径之间插入 "{+}" 来定义的。下面是一个使用贪婪路径变量的示例:
在API Gateway上,创建一个资源路径为 /users/{proxy+} 的资源,将请求转发到Lambda函数:
/users/{proxy+} -> Lambda Function
例如,对于以下请求:
/users/john/profile
Lambda函数将接收到以下参数:
{
"proxy": "john/profile"
}
在Lambda函数中,您可以将"{proxy+}"解析成一个单独的路径变量。
以下是在AWS Lambda函数中使用Node.js代码的示例:
exports.handler = async (event) => {
// 取出路径参数 "proxy"
const path = event.pathParameters.proxy;
// 对路径参数进行操作
console.log(`Path: /users/${path}`);
const response = {
statusCode: 200,
body: JSON.stringify(`Hello ${path}!`),
};
return response;
};