要设置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或更高版本。