在ApolloServer构造函数中,可以通过传递一个包含typeDefs和resolvers属性的JavaScript对象来设置schema选项。其中,typeDefs属性定义GraphQL schema的类型,而resolvers属性则定义每个类型的解析器函数。
示例代码:
const { ApolloServer, gql } = require('apollo-server');
// 定义GraphQL schema语句
const typeDefs = gql`
type Query {
hello: String
}
`;
// 定义解析器函数
const resolvers = {
Query: {
hello: () => 'Hello World!'
}
};
// 创建ApolloServer实例并设置schema选项
const server = new ApolloServer({ typeDefs, resolvers });
server.listen().then(({ url }) => {
console.log(`Server ready at ${url}`);
});
在上述示例中,通过gql模板字符串定义了一个Query类型,该类型下包含了一个名为hello的字段。然后,定义了一个解析器函数,用于返回“Hello World!”字符串。最后,通过传递包含typeDefs和resolvers属性的对象,设置了ApolloServer的schema选项。