要解决AWS Lambda API受到CORS策略的阻止问题,您可以在Lambda函数中添加CORS头部。以下是一个示例代码:
import json
def lambda_handler(event, context):
# 处理CORS预检请求
if event['httpMethod'] == 'OPTIONS':
response = {
'statusCode': 200,
'headers': {
'Access-Control-Allow-Origin': '*',
'Access-Control-Allow-Methods': 'GET, POST, OPTIONS',
'Access-Control-Allow-Headers': 'Content-Type'
}
}
return response
# 处理实际请求
response = {
'statusCode': 200,
'headers': {
'Access-Control-Allow-Origin': '*',
'Content-Type': 'application/json'
},
'body': json.dumps({'message': 'Hello, World!'})
}
return response
在上面的示例中,我们首先检查是否为CORS预检请求(OPTIONS方法)。如果是预检请求,我们返回一个带有CORS头部的响应。这些头部包括允许的来源(Access-Control-Allow-Origin)、允许的方法(Access-Control-Allow-Methods)和允许的请求头(Access-Control-Allow-Headers)。
对于实际请求,我们也返回一个带有CORS头部的响应。在这个示例中,我们允许任何来源(Access-Control-Allow-Origin为*),并且将Content-Type设置为application/json。
请注意,以上示例中的代码是使用Python编写的。如果您使用的是不同的编程语言,您需要相应地进行修改。