Deno 中如何实现 GraphQL API

阅读时长 4 分钟读完

GraphQL 是一种查询语言,它可以让客户端定义自己所需的数据,并且仅获取他们需要的数据。在 Deno 中,我们可以利用第三方模块和库来快速实现 GraphQL API 服务。

安装依赖

我们需要先安装 dgraphqloak 两个依赖项。dgraphql 是 Deno 的 GraphQL 模块,它能够帮助我们构建 GraphQL API。另一个依赖是 oak,它是一个 Web 框架,它让我们可以快速构建 HTTP 服务。

通过运行以下命令,您可以将这两个依赖添加到您的项目中:

创建一个 GraphQL 服务器

我们将创建一个 GraphQL 服务器,该服务器将从一个名为 users 的数组中获取数据。

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

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

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

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

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

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

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

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

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

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

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

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

在上面的示例中,我们首先定义了一个 GraphQL Schema,其中用户类型包括 ID 和名称字段。然后我们创建了一个名为 users 的数据数组。

接下来,我们定义了一个名为 users 的查询,该查询将返回用户数组。最后,我们使用 makeExecutableSchema 函数创建 GraphQL Schema。

之后,我们使用 dgraphql 来创建一个路由,该路由将使用上面创建的 Schema 来处理 GraphQL 请求。

最后,我们使用 oak 框架创建了一个 HTTP 服务器,并将路由添加到应用程序中。

测试

要测试 GraphQL 服务器,请在浏览器中打开 http://localhost:8000/graphql。这会打开 GraphiQL 工具。

在 GraphiQL 中,您可以在左侧查询窗格中编写查询。例如,以下查询将从服务器获取用户数据:

在右侧结果窗格中,您将看到返回的用户数组。

总结

Deno 中使用第三方库可以快速构建 GraphQL API 服务,并且可以方便的进行测试和查询。本文提供了一个示例,希望能帮助您更好地理解如何在 Deno 中实现 GraphQL API。

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

纠错
反馈