Fastify 如何使用 GraphQL

前言

GraphQL 是一种由 Facebook 开源的数据查询和操作语言,可以帮助开发者更高效地构建 API。而 Fastify 是一个快速、低开销、可扩展的 Node.js Web 框架,它的设计目标是为了提供最佳的性能和开发体验。本文将介绍如何在 Fastify 中使用 GraphQL。

安装

首先,我们需要安装 Fastify 和相关的 GraphQL 插件。可以使用 npm 或 yarn 进行安装:

创建 Fastify 应用

接下来,我们需要创建一个 Fastify 应用,并注册 fastify-gql 插件:

在上面的代码中,我们使用 makeExecutableSchema 函数创建了一个简单的 GraphQL schema,并将其作为参数传递给 graphqlFastify 插件。同时,我们也注册了 graphiqlFastify 插件,用于在浏览器中查看 GraphQL schema。

现在,我们可以启动 Fastify 应用,并在浏览器中访问 http://localhost:3000/graphiql,查看 GraphQL schema。

查询数据

接下来,我们将添加一个新的查询,用于获取一个数字的平方。在 typeDefs 中添加以下内容:

resolvers 中添加以下内容:

现在,我们可以在 GraphiQL 中尝试执行以下查询:

执行结果应该是:

修改数据

除了查询数据外,GraphQL 还支持修改数据。我们可以在 typeDefs 中添加一个 mutation,用于修改一个数字的值:

resolvers 中添加以下内容:

在上面的代码中,我们使用了 context 参数,它是一个对象,可以用于在不同的 resolver 之间共享数据。我们将 number 存储在 context 中,并在 resolver 中返回它。

现在,我们可以在 GraphiQL 中尝试执行以下 mutation:

执行结果应该是:

此时,context.number 的值应该是 10

结论

本文介绍了如何在 Fastify 中使用 GraphQL,包括查询数据和修改数据。使用 GraphQL 可以帮助我们更高效地构建 API,同时 Fastify 的高性能和开发体验也能为我们提供良好的支持。希望本文对你有所帮助!

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/672545162e7021665e179357


纠错
反馈