在 Fastify 应用中使用 GraphQL Apollo

Fastify 是一种基于 Node.js 的快速、低开销的 Web 框架。GraphQL 是一种现代化的 API 查询语言。本文将介绍如何在 Fastify 应用中使用 GraphQL Apollo。

安装

首先,我们需要安装依赖:

其中,fastify-graphql 是 Fastify 的 GraphQL 插件,apollo-server-fastify 是把 Apollo Server 整合到 Fastify 中的插件,graphql 则是 GraphQL 的核心库。

创建 GraphQL 模式

接下来,我们需要编写 GraphQL 模式。在 Fastify 应用中,我们可以把它放到单独的文件中,比如 src/schema.js

这里定义了一个名为 Query 的对象类型,它包含了一个名为 hello 的字段,该字段返回一个字符串。

创建 GraphQL 解析器

现在,我们需要编写 GraphQL 解析器,它将决定如何响应查询。在 Fastify 应用中,我们可以把它放到单独的文件中,比如 src/resolvers.js

这里定义了一个名为 Query 的对象类型解析器,它包含了一个名为 hello 的字段解析器,该字段返回一个字符串。

集成到 Fastify

现在,我们已经准备好了 GraphQL 模式和解析器,我们可以把它们集成到 Fastify 中。在 Fastify 应用中,我们可以把它们放到单独的文件中,比如 src/app.js

这里创建了一个 Fastify 应用,并创建了一个 Apollo Server 实例。然后,我们在 Fastify 应用中注册 Apollo Server 处理程序,使得它可以处理 GraphQL 查询。最后,我们启动 Fastify 应用并监听端口。

查询 GraphQL API

现在,我们已经准备好了 GraphQL API,我们可以使用任何 GraphQL 客户端来查询它。这里提供一个简单的示例,使用 graphql-request 库:

这里创建了一个 GraphQL 请求,用于查询 hello 字段。然后,我们使用 graphql-request 库发送 GraphQL 请求并打印响应结果。

总结

本文介绍了如何在 Fastify 应用中使用 GraphQL Apollo。我们首先安装了依赖,然后编写了 GraphQL 模式和解析器。最后,我们将它们集成到 Fastify 应用中,并使用 GraphQL 客户端查询 API。

来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/6547bfd07d4982a6eb217229


纠错
反馈