在AWS API Gateway中,需要设置跨域资源共享(CORS)以允许从其他域中的Web浏览器访问API资源。以下是实现该设置的步骤和代码示例:
步骤1:在AWS API Gateway中,选择要添加CORS Headers的REST API(API资源)。
步骤2:在REST API菜单中,选择'Actions”按钮,然后选择'Enable CORS”。
步骤3:在'Enable CORS”窗口中,配置CORS设置并单击'Enable CORS and replace existing CORS headers”按钮。
以下是示例代码,展示了如何使用Lambda函数和API Gateway集成来设置CORS。
在Lambda函数中,使用以下代码添加CORS响应头:
exports.handler = function (event, context, callback) { var response = { "statusCode": 200, "headers": { "Access-Control-Allow-Origin": "*", // 允许所有源访问 API "Access-Control-Allow-Headers": "Content-Type,X-Amz-Date,Authorization,X-Api-Key,X-Amz-Security-Token", "Content-Type": "application/json" }, "body": JSON.stringify({ "message": "Hello World!" }) }; callback(null, response); };
在API Gateway集成中,要在'Integration Response > Header Mapping”中添加与Lambda函数响应的CORS响应头相同的映射,以确保它们被传递回Web浏览器:
'Access-Control-Allow-Origin' : "'*'", 'Access-Control-Allow-Headers': "'Content-Type,X-Amz-Date,Authorization,X-Api-Key,X-Amz-Security-Token'"