入门 GraphQL:创建第一个 GraphQL API

阅读时长 4 分钟读完

GraphQL 是一种用于构建 API 的查询语言,它可以帮助前端开发人员更好地管理数据。在本文中,我们将介绍如何创建第一个 GraphQL API,让您入门 GraphQL。

什么是 GraphQL?

GraphQL 是一种用于构建 API 的查询语言,它由 Facebook 开发并于 2015 年首次公开发布。GraphQL 允许客户端明确地指定其需要的数据,而不是像 REST API 那样返回一个固定的数据结构。

GraphQL 的基本组成部分包括:

  • Schema:定义了可以查询的数据类型和字段。
  • Query:用于读取数据。
  • Mutation:用于修改数据。

GraphQL 的优势在于:

  • 更少的网络请求:GraphQL 可以一次查询多个数据,减少了网络请求的次数。
  • 更好的数据管理:GraphQL 的 Schema 可以帮助前端开发人员更好地管理数据。
  • 更好的文档:GraphQL 的 Schema 可以自动生成 API 文档。

创建第一个 GraphQL API

下面我们将介绍如何创建第一个 GraphQL API。

安装依赖

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

  • graphql: GraphQL 的核心库。
  • express: 用于创建 Web 服务器。
  • express-graphql: 用于将 GraphQL 集成到 Express 应用程序中。

定义 Schema

在我们开始编写代码之前,我们需要定义一个 Schema。Schema 定义了可以查询的数据类型和字段。

在本示例中,我们将定义一个 User 类型,包含 idname 字段。我们还将定义一个 Query 类型,包含 user 字段,用于查询用户信息。

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

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

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

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

创建服务器

现在我们已经定义了 Schema,我们需要将其集成到 Express 应用程序中。

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

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

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

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

现在我们已经创建了一个 GraphQL API,可以通过 http://localhost:3000/graphql 访问。

查询数据

我们可以使用 GraphQL 查询语言查询数据。以下是一个查询示例:

这个查询将返回一个用户的 idname。如果我们运行这个查询,将得到以下结果:

总结

GraphQL 是一种用于构建 API 的查询语言,它可以帮助前端开发人员更好地管理数据。在本文中,我们介绍了如何创建第一个 GraphQL API,并提供了示例代码和查询语言示例。希望这篇文章能够帮助您入门 GraphQL。

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

纠错
反馈