在 Deno 中使用 GraphQL 进行 API 开发的完整教程

阅读时长 5 分钟读完

GraphQL 是一种由 Facebook 开发的查询语言,它提供了一种强大、灵活的方式来定义和查询 API。它的优点在于可以让客户端精确地请求需要的数据,而不会因为请求过多或过少而浪费资源。在本教程中,我们将介绍如何在 Deno 中使用 GraphQL 进行 API 开发,并提供一些实用的示例代码。

安装 Deno

Deno 是一个现代的 JavaScript/TypeScript 运行时,它与 Node.js 不同,它解决了一些 Node.js 的常见问题,例如异步模块加载、安全性、构建工具等等。在开始本教程之前,我们需要先安装 Deno。

安装 Deno 非常简单,只需打开终端并输入以下命令:

该命令将自动下载和安装最新版本的 Deno。安装完成后,我们可以在终端中运行 deno 命令来验证是否安装成功:

如果输出了 Deno 的版本号,则说明安装成功。

安装 deno-graphql

在 Deno 中使用 GraphQL 需要借助第三方的 deno-graphql 模块。我们可以使用 Deno 的内置包管理器 deno.land 来安装该模块。

打开终端,输入以下命令来安装 deno-graphql:

该命令会自动下载并安装 deno-graphql 模块,并且创建一个名为 graphql 的可执行文件,该文件是用于运行 GraphQL API 的。

创建 GraphQL API

在本教程中,我们将创建一个简单的 GraphQL API,用于查询和添加用户信息。我们首先需要创建一个名为 users.ts 的文件,并编写如下代码:

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

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

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

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

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

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

该文件定义了一个 User 接口和一个 users 数组,用于存储用户数据。我们还定义了 resolverstypeDefs 两个变量,用于定义查询和操作用户的 GraphQL API。

运行 GraphQL API

创建好 users.ts 文件后,我们可以使用 graphql 命令来运行 GraphQL API。打开终端,输入以下命令:

该命令会自动编译 users.ts 文件,并使用 http://localhost:8080 地址提供 GraphQL API。现在,我们可以在浏览器中访问 http://localhost:8080/graphql,查看 GraphQL Playground。

在 GraphQL Playground 中,我们可以测试我们的 API。例如,我们可以使用以下查询获取所有用户的信息:

我们还可以使用以下操作向 users 数组中添加新用户:

从输出结果可以看出,我们成功向 users 数组中添加了新用户。

总结

本教程介绍了如何在 Deno 中使用 GraphQL 进行 API 开发,并提供了一个示例代码。GraphQL 提供了一种灵活且强大的方式来定义和查询 API,能够帮助我们减少不必要的资源浪费,提升 API 的性能和效率。使用 deno-graphql,我们可以轻松地在 Deno 中开发 GraphQL API,并且可以通过 GraphQL Playground 来测试我们的 API。

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

纠错
反馈