Deno 中使用 GraphQL 构建 API 的实例解析

阅读时长 5 分钟读完

GraphQL 是一种查询语言,用于 API 的设计和查询。在 Web 开发中,GraphQL 已经成为了一个受欢迎的 API 解决方案。而 Deno 则是一个新兴的 JavaScript 运行时,通常用于构建服务端应用程序。本文将详细介绍在 Deno 中使用 GraphQL 构建 API 的实例解析。

安装 Deno 和 GraphQL 模块

在开始之前,需要先安装 Deno 和 GraphQL 模块,可以在 Deno 官方网站上下载并安装 Deno,然后使用以下命令来安装 GraphQL 模块:

创建一个 GraphQL Schema

一个 GraphQL Schema 可以理解为 API 的结构说明,可以用来定义 API 能够提供的操作和数据类型。在 Deno 中,可以使用 TypeScript 来定义 Schema。

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

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

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

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

上面的代码中,我们导入了 GraphQL 相关的模块,然后定义了一个 Query 类型,该类型可以返回一个字符串,也可以接受一个 name 参数,最后将 Query 类型传递给 GraphQLSchema 构造函数来创建一个 GraphQL Schema。

构建一个 Deno 服务器

接下来,我们需要将我们的 Schema 应用到 Deno 服务器中。在 Deno 中,我们可以使用 HTTP 模块构建服务器。

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

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

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

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

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

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

上面的代码中,我们首先导入了 HTTP 模块和 deno-graphql 模块,同时我们也导入了之前定义的 Schema,然后创建了一个服务器,并且在服务器上监听了两个路径,“/graphql” 和 “/”,其中,如果路径为 “/graphql” 则使用 deno-graphql 库中的 applyGraphQL 函数来处理 Graphql 查询,如果路径为 “/” 则返回一个简单的字符串。

在浏览器中测试 GraphQL API

我们可以使用浏览器来测试我们的 GraphQL API。在浏览器中输入以下地址:“http://localhost:8000/graphql?query={hello}”,可以看到以下结果:

这是一个 GraphQL 查询,我们通过浏览器的 URL 参数来传递查询。以上的查询表示从根查询中获取 hello 字段的值。同时我们也在查询中传递了一个 name 参数。

总结

到此为止,我们已经成功地在 Deno 中使用 GraphQL 构建了一个 API。在以上实例中,我们使用了 GraphQL 作为 API 的查询语言,并且使用了 Deno 作为运行环境。这些技术的结合,既可以满足现代 Web 应用程序的需求,也可以作为学习 GraphQL 和 Deno 的绝佳材料。

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

纠错
反馈