教你如何在 Deno 中实现 GraphQL API 的快速入门

GraphQL 是一种用于 API 的查询语言,它提供了一种更高效、强大和灵活的方式来访问数据。Deno 是一个安全、现代化的 JavaScript 和 TypeScript 运行时环境,它可以帮助我们快速构建高效的 Web 应用程序。本文将介绍如何在 Deno 中实现 GraphQL API 的快速入门。

安装 Deno

首先,我们需要安装 Deno。可以从官方网站 https://deno.land/ 下载安装包,也可以使用包管理器进行安装。安装完成后,可以在命令行中输入 deno --version 来检查是否安装成功。

安装相关依赖

接下来,我们需要安装一些相关的依赖。使用 Deno 自带的包管理器 deno install 来安装以下依赖:

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

这里安装了两个依赖:graphqldotenvgraphql 是官方提供的用于实现 GraphQL API 的库,dotenv 则是用于读取环境变量的库。

创建 GraphQL Schema

接下来,我们需要定义 GraphQL 的 Schema。Schema 是一个用于描述数据结构和操作的对象,它定义了 API 的类型和可用的操作。

我们创建一个 schema.ts 文件,用于定义 GraphQL 的 Schema。在这个文件中,我们将定义一个简单的 Query 类型,用于查询一个名为 hello 的字符串。

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

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

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

在这个文件中,我们使用 gql 函数来定义一个 GraphQL 的 Schema。其中,我们定义了一个 Query 类型,它包含了一个名为 hello 的字段,类型为 String!,表示这个字段是必须要有返回值的。

创建 Resolver

接下来,我们需要创建一个 Resolver。Resolver 是一个用于处理 GraphQL 请求的函数,它根据请求的类型和参数来返回相应的数据。

我们创建一个 resolver.ts 文件,用于定义 Resolver。在这个文件中,我们将定义一个简单的 hello 函数,用于返回一个字符串。

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

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

在这个文件中,我们定义了一个名为 resolvers 的对象,它包含了一个 Query 类型,其中包含了一个名为 hello 的字段。这个字段是一个函数,它返回一个字符串 "Hello, World!"

创建服务器

现在,我们可以创建一个服务器,用于处理 GraphQL 请求。我们创建一个 server.ts 文件,用于定义服务器。

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

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

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

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

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

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

在这个文件中,我们首先导入了 oak 库,它是一个用于构建 Web 应用程序的库。接着,我们导入了 applyGraphQL 函数,它是一个用于创建 GraphQL 服务的函数。我们还导入了 dotenv 库,用于读取环境变量。

然后,我们定义了一个 app 对象,用于创建一个 Web 应用程序。接着,我们使用 applyGraphQL 函数来创建一个 GraphQL 服务,并将其注册到 Web 应用程序中。最后,我们启动了 Web 服务器,并监听在环境变量 PORT 指定的端口上。

运行服务器

现在,我们可以在命令行中运行以下命令来启动服务器:

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

其中,PORT=8000 表示将端口设置为 8000--allow-net--allow-read--allow-env 表示允许访问网络、读取文件和读取环境变量。

测试 API

现在,我们可以使用 GraphQL 的客户端来测试 API。我们可以使用 curl 命令来发送一个 GraphQL 请求:

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

这个请求将会返回以下结果:

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

这表示我们的 GraphQL API 已经成功地实现了。

总结

本文介绍了如何在 Deno 中实现 GraphQL API 的快速入门。我们使用了 graphqldotenv 两个库来实现 GraphQL API,并使用 oak 库来创建 Web 应用程序。通过本文的学习,我们可以更好地理解 GraphQL 的概念和使用方法,并能够快速地构建自己的 GraphQL API。

来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/66100431d10417a2220a0121