GraphQL 教程:如何创建基本的 GraphQL 服务器

阅读时长 5 分钟读完

GraphQL 是由 Facebook 开发的一种开源的数据查询语言,可用于构建 API,可以让客户端对 API 发布的数据进行选择,从而减少网络传输数据量,优化 API 性能,同时可以让客户端更灵活地请求所需的数据。本文将介绍如何创建基本的 GraphQL 服务器,包括安装和配置必要的工具、编写 GraphQL schema 和 resolver,并提供示例代码。

安装和配置必要的工具

要创建 GraphQL 服务器,需要使用一些必要的工具,包括 Node.js、npm(或 Yarn)、GraphQL 和 Express。

  • 安装 Node.js

Node.js 是一种基于 Chrome V8 引擎的 JavaScript 运行环境,可用于在服务器端运行 JavaScript。到Node.js 官网下载并安装 Node.js。

  • 安装 npm 或 Yarn

npm 或 Yarn 是 Node.js 的包管理器,用于安装和管理 JavaScript 模块。npm 是 Node.js 默认的包管理器,而 Yarn 是 Facebook 开源的新一代 JavaScript 依赖管理工具。到npm 官网Yarn 官网下载并安装。

  • 安装 GraphQL

GraphQL 是一种用于 API 的查询语言,可以使客户端更有效地请求所需的数据。在终端中使用以下命令安装 GraphQL:

  • 安装 Express

Express 是 Node.js 常用的 Web 应用开发框架,可用于创建 Web 服务器和 API。在终端中使用以下命令安装 Express:

编写 GraphQL schema

GraphQL schema 定义了查询和变更的类型及其相互关系,以及如何访问和操作这些类型。在创建 GraphQL 服务器之前,需要编写 GraphQL schema。在本文中,我们将创建一个简单的 schema,其中包含一个查询类型,查询一个名为“hello”的字符串。

以上 schema 定义了一个只有一个字段的查询类型,该字段的名称为“hello”,类型为字符串,且为非 null 类型。

编写 GraphQL resolver

GraphQL resolver 定义了如何从 GraphQL schema 中的查询类型字段中提取数据。它们从存储器、数据库或其他数据源中获取数据,并将其返回给客户端。在本文中,我们将创建一个 resolver 函数,用于返回“hello”字符串。

以上代码定义了一个名为“hello”的 resolver 函数,用于返回“Hello, World!”字符串。我们将其作为包含 Query 类型键的对象传递。

创建 GraphQL server

在编写了 GraphQL schema 和 resolver 后,我们可以在 Node.js 中创建一个 GraphQL 服务器并使用 Express 将其公开。以下是创建服务器的完整代码。

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

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

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

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

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

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

以上代码使用 Express 创建了一个 HTTP 服务器,并将其公开为 GraphQL API。可以通过在浏览器中访问 http://localhost:4000/graphql 来验证是否已正确配置和启动 GraphQL 服务器。

结论

本文介绍了如何创建基本的 GraphQL 服务器。从安装和配置必要的工具开始,到编写 GraphQL schema 和 resolver,最后到创建 GraphQL 服务器并使用 Express 将其公开。此外,我们还提供了示例代码,以便您参考和借鉴。当然,这只是刚刚入门,还有很多其他功能和用例需要您自行探索和实践。

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

纠错
反馈