要设置CORS(跨域资源共享)以允许对Apollo Server的API Gateway代理事件进行跨域请求,你可以使用以下代码示例:
const { ApolloServer } = require('apollo-server-lambda');
const server = new ApolloServer({
// Apollo Server 配置
});
exports.handler = server.createAPIGatewayProxyEventV2Handler({
cors: {
origin: '*', // 允许所有来源的请求
credentials: true // 允许发送身份验证凭据(如 cookies)
}
});
在上面的示例中,我们使用createAPIGatewayProxyEventV2Handler
方法创建了一个API Gateway代理事件的请求处理程序。在cors
选项中,我们设置了origin
为'*'
,这允许来自任何来源的请求。我们还设置了credentials
为true
,以允许发送身份验证凭据(如 cookies)。
你可以根据需要调整origin
和credentials
的值。如果你只想允许特定的来源访问,你可以将origin
设置为相应的URL。如果你不需要发送身份验证凭据,你可以将credentials
设置为false
。
确保在Apollo Server的配置中设置了正确的schema和resolvers,以便处理API请求。
请注意,为了能够在Lambda函数中使用createAPIGatewayProxyEventV2Handler
方法,你需要使用apollo-server-lambda
库的2.25.0
或更高版本。