下面是一个基本的示例,展示了如何在Apollo GraphQL和Fastify之间进行集成:
const fastify = require('fastify');
const { ApolloServer, gql } = require('apollo-server-fastify');
const app = fastify();
const typeDefs = gql`
type Query {
hello: String
}
`;
const resolvers = {
Query: {
hello: () => 'Hello, world!'
}
};
const server = new ApolloServer({ typeDefs, resolvers });
app.register(server.createHandler());
app.listen(3000, (err, address) => {
if (err) {
console.error(err);
process.exit(1);
}
console.log(`Server listening on ${address}`);
});
首先,我们导入所需的库:fastify,ApolloServer和gql。
然后,我们创建一个fastify实例,并定义GraphQL的类型定义和解析器。在这个例子中,我们简单地定义了一个名为"hello"的查询,它返回字符串"Hello, world!"。
接下来,我们创建一个ApolloServer实例,并将类型定义和解析器传递给它。
然后,我们使用fastify的register
方法将ApolloServer的请求处理程序注册到fastify实例中。
最后,我们使用fastify的listen
方法启动服务器,并在端口3000上监听请求。
这个例子演示了如何在Fastify中集成Apollo GraphQL,并使用ApolloServer创建GraphQL API。你可以根据自己的需求修改类型定义和解析器。