在使用Apollo Server v2时,如果GraphQL解析器未被调用,可能有以下几个原因:
const { ApolloServer, gql } = require('apollo-server');
// 定义类型定义和解析器函数
const typeDefs = gql`
type Query {
hello: String
}
`;
const resolvers = {
Query: {
hello: () => 'Hello world!',
},
};
// 创建Apollo Server实例,并传入类型定义和解析器函数
const server = new ApolloServer({ typeDefs, resolvers });
const resolvers = {
Query: {
hello: (_, args, { dataSources }) => {
const { ExampleAPI } = dataSources;
return ExampleAPI.getHello();
},
},
};
const server = new ApolloServer({
typeDefs,
resolvers,
context: ({ req }) => {
// 在上下文对象中添加所需的信息,如用户身份验证、数据库连接等
return {
auth: req.headers.authorization,
db: connectToDatabase(),
};
},
});
通过检查以上几个方面,您应该能够解决Apollo Server v2中GraphQL解析器未被调用的问题。