Moy*_*mir 4 amazon-web-services node.js aws-lambda aws-api-gateway aws-cdk
我使用 aws cdk 创建了 lambda 和 apigateway。邮递员的效果很好。
当我从浏览器发出后调用时,我得到No "Access-Control-Allow-Origin"
.
因此,我尝试使用 CDK 在 API Gateway 中启用 CORS。我按照以下方式进行:
// users microservice api gateway
const apiGateway = new LambdaRestApi(this, "usersApi", {
restApiName: "Users Service",
handler: microServices.fn,
proxy: false,
});
// creating resources
const users = apiGateway.root.addResource("users");
users.addMethod("POST");
users.addCorsPreflight({
allowOrigins: ["*"],
allowHeaders: ["*"],
allowMethods: ["*"],
});
Run Code Online (Sandbox Code Playgroud)
但我还是明白了No "Access-Control-Allow-Origin"
。
我缺少什么?如何通过 cdk 启用 CORS?
您的 lambda 必须将 CORS 标头放入其响应中。
例如:
return {
isBase64Encoded: false,
statusCode: 200,
body: JSON.stringify('success'),
headers: {
'Access-Control-Allow-Headers': 'Content-Type',
'Access-Control-Allow-Origin': '*',
'Access-Control-Allow-Methods': 'OPTIONS,POST',
}
}
Run Code Online (Sandbox Code Playgroud)
参考 - 参见Enabling CORS support for Lambda or HTTP proxy integrations
部分
https://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-cors.html
归档时间: |
|
查看次数: |
1890 次 |
最近记录: |