在AWS API Gateway中,您可以使用Body Mapping Templates来处理请求和响应的数据。对于获取当前日期时间的需求,您可以使用VTL(Velocity Template Language)来编写一个Body Mapping模板。
以下是一个示例解决方案,假设您正在使用Lambda集成:
在API Gateway中,打开您的API,并转到请求/响应模型。
在请求模型中,将Content-Type设置为"application/json"。
在请求模型中,添加一个Body Mapping模板。选择"Mapping Template",然后选择"application/json"。在编辑器中,输入以下代码:
{
"dateTime": "$input.params().header.get('X-Amz-Date')"
}
此代码会将当前日期时间存储在dateTime变量中。您还可以根据需要更改变量名称。
保存并部署API。
在Lambda函数中,您可以通过读取请求的event对象来获取当前日期时间。以下是一个示例Node.js代码:
exports.handler = async (event) => {
const dateTime = event.dateTime;
console.log(dateTime);
};
在这个示例中,event对象是Lambda函数的输入参数,其中包含了通过API Gateway传递的请求数据。通过访问event.dateTime属性,您可以获取到当前日期时间。
请注意,这只是一个示例解决方案,您可以根据自己的需求进行修改和扩展。