如何使用 Fastify 实现 GraphQL API

GraphQL 是一种用于 API 的查询语言,它提供了一种更高效、更强大、更灵活的方式来获取数据。Fastify 是一个快速、低开销的 Web 框架,它提供了一种简单、易用的方式来构建高度可扩展的 Web 应用程序。在本文中,我们将介绍如何使用 Fastify 实现 GraphQL API。

安装 Fastify 和相关插件

首先,我们需要安装 Fastify 和相关的插件。在终端中运行以下命令:

--- ------- ------- --------------- -------

这将安装 Fastify、Fastify GraphQL 和 GraphQL。

创建 Fastify 应用程序

接下来,我们将创建一个 Fastify 应用程序。在代码编辑器中创建一个新文件,命名为 app.js。在文件中添加以下代码:

----- ------- - --------------------

-------------------- ----- -------- -- -
  -- ----- ----- ---
  ------------------- --------- -- ------------
--

这将创建一个 Fastify 应用程序,并将其监听在端口 3000 上。

添加 GraphQL API

接下来,我们将添加 GraphQL API。在 app.js 文件中添加以下代码:

----- - -------- ----------- - - ------------------
----- - --------------- --------------- - - --------------------------

----- ------ - -------------
  ---- ----- -
    ------ ------
  -
--

----- ---- - -
  ------ -- -- ------ -------
-

-------------------------------- -
  -------
  ---------- -----
  --------- ----
--

--------------------------------- -
  ------------ ----------
--

这将创建一个简单的 GraphQL API,该 API 包含一个名为 hello 的查询,该查询返回字符串 Hello world!。我们使用 buildSchema 函数创建了一个 GraphQL schema,该 schema 包含一个名为 Query 的类型,该类型包含一个名为 hello 的字段。

我们还创建了一个名为 root 的对象,该对象包含一个名为 hello 的函数,该函数返回字符串 Hello world!。我们将该对象传递给 graphqlFastify 插件的 rootValue 选项,以便 Fastify 知道如何解析 GraphQL 查询。

最后,我们注册了 graphqlFastify 插件和 graphiqlFastify 插件。graphqlFastify 插件用于处理 GraphQL 查询,graphiqlFastify 插件用于提供一个 Web 界面,以便我们可以轻松地测试 GraphQL API。

运行 Fastify 应用程序

现在,我们已经创建了 Fastify 应用程序并添加了 GraphQL API。在终端中运行以下命令来启动应用程序:

---- ------

现在,在浏览器中打开 http://localhost:3000/graphql,我们可以看到 GraphiQL 界面。在左侧的查询编辑器中输入以下查询:

-
  -----
-

然后,单击右侧的运行按钮。我们应该会看到以下响应:

-
  ------- -
    -------- ------ -------
  -
-

这表明我们的 GraphQL API 正确地返回了字符串 Hello world!

总结

在本文中,我们介绍了如何使用 Fastify 实现 GraphQL API。我们安装了 Fastify 和相关插件,创建了 Fastify 应用程序,并添加了 GraphQL API。我们还使用 GraphiQL 界面测试了我们的 API。这应该为您提供了一个良好的起点,以便您可以开始构建更复杂的 GraphQL API。

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