GraphQL 是一种用于 API 的查询语言,它允许客户端精确地请求需要的数据,从而减少了网络传输的数据量,提高了应用程序的性能。Fastify 是一个快速、低开销的 Node.js Web 框架,它可以帮助我们快速构建高效的 Web 应用程序。本文将介绍如何在 Fastify 中实现 GraphQL-API。
安装 Fastify
在开始之前,我们需要先安装 Fastify。可以使用 npm 来安装 Fastify:
npm install fastify
安装 GraphQL
接下来,我们需要安装 GraphQL。可以使用 npm 来安装 GraphQL:
npm install graphql
创建 Fastify 应用程序
在安装完 Fastify 和 GraphQL 后,我们可以开始创建 Fastify 应用程序了。我们需要在应用程序中引入 Fastify 和 GraphQL:
const fastify = require('fastify')(); const { graphql, buildSchema } = require('graphql');
然后,我们需要定义 GraphQL Schema。Schema 描述了 API 可以接受的查询和数据类型。在这个示例中,我们将定义一个简单的 Schema,它包含一个查询类型,并返回一个字符串:
const schema = buildSchema(` type Query { hello: String } `);
然后,我们需要定义一个解析函数,它将处理查询并返回数据。在这个示例中,我们将返回一个简单的字符串:
const root = { hello: () => { return 'Hello world!'; }, };
接下来,我们需要创建一个路由处理程序,它将处理 GraphQL 查询。在这个示例中,我们将使用 Fastify 的 POST
路由处理程序:
fastify.post('/graphql', (req, res) => { graphql(schema, req.body.query, root).then((response) => { res.send(response); }); });
最后,我们需要启动 Fastify 应用程序:
fastify.listen(3000, (err) => { if (err) throw err; console.log(`Server listening on ${fastify.server.address().port}`); });
测试 GraphQL API
现在我们已经创建了 Fastify GraphQL API,我们可以使用 GraphiQL 测试工具来测试它。GraphiQL 是一个交互式的 GraphQL IDE,它可以帮助我们测试 GraphQL API。
首先,我们需要在浏览器中打开 GraphiQL:
http://localhost:3000/graphql
然后,我们可以在 GraphiQL 中输入查询:
query { hello }
然后,我们可以点击运行按钮来运行查询。如果一切正常,我们应该会看到以下响应:
{ "data": { "hello": "Hello world!" } }
总结
在本文中,我们介绍了如何在 Fastify 中实现 GraphQL-API。我们首先安装了 Fastify 和 GraphQL,然后创建了一个 Fastify 应用程序,并定义了一个简单的 GraphQL Schema。最后,我们使用 GraphiQL 测试工具来测试 GraphQL API。这个示例是一个简单的示例,但它演示了如何使用 Fastify 和 GraphQL 来创建高效的 API。
来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/6562e35fd2f5e1655dca4c3b