GraphQL 是一种由 Facebook 开发的查询语言,它提供了一种强大、灵活的方式来定义和查询 API。它的优点在于可以让客户端精确地请求需要的数据,而不会因为请求过多或过少而浪费资源。在本教程中,我们将介绍如何在 Deno 中使用 GraphQL 进行 API 开发,并提供一些实用的示例代码。
安装 Deno
Deno 是一个现代的 JavaScript/TypeScript 运行时,它与 Node.js 不同,它解决了一些 Node.js 的常见问题,例如异步模块加载、安全性、构建工具等等。在开始本教程之前,我们需要先安装 Deno。
安装 Deno 非常简单,只需打开终端并输入以下命令:
curl -fsSL https://deno.land/x/install/install.sh | sh
该命令将自动下载和安装最新版本的 Deno。安装完成后,我们可以在终端中运行 deno
命令来验证是否安装成功:
deno --version
如果输出了 Deno 的版本号,则说明安装成功。
安装 deno-graphql
在 Deno 中使用 GraphQL 需要借助第三方的 deno-graphql 模块。我们可以使用 Deno 的内置包管理器 deno.land
来安装该模块。
打开终端,输入以下命令来安装 deno-graphql:
deno install --allow-read --allow-net --unstable --import-map=https://deno.land/x/deno-graphql/import_map.json --name=graphql https://deno.land/x/deno-graphql/cli.ts
该命令会自动下载并安装 deno-graphql 模块,并且创建一个名为 graphql
的可执行文件,该文件是用于运行 GraphQL API 的。
创建 GraphQL API
在本教程中,我们将创建一个简单的 GraphQL API,用于查询和添加用户信息。我们首先需要创建一个名为 users.ts
的文件,并编写如下代码:
-- -------------------- ---- ------- --------- ---- - --- ------- ----- ------- ------ ------- - ----- ------ ------ - - - --- ---- ----- ------- ------ ------------------ -- - --- ---- ----- ------- ------ ------------------ -- - --- ---- ----- ------ ------ ----------------- - -- ------ ----- --------- - - ------ - ------ --- ------ -- ------ ----- --- ---- - -- -- - --- ------ --- ---- - --------- -- --------------- -- ------- --- --- -- --------- - -------- --- ---- - ----- ----- -- - ----- ------- ------ ------ --- ---- -- - ----- ------- - - --- ------------------- - --- ----- ----- -- -------------------- ------ -------- - - -- ------ ----- -------- - - ---- ---- - --- --- ----- ------- ------ ------- - ---- ----- - ------ -------- -------- ----- ---- - ---- -------- - ------------- -------- ------ --------- ----- - --
该文件定义了一个 User
接口和一个 users
数组,用于存储用户数据。我们还定义了 resolvers
和 typeDefs
两个变量,用于定义查询和操作用户的 GraphQL API。
运行 GraphQL API
创建好 users.ts
文件后,我们可以使用 graphql
命令来运行 GraphQL API。打开终端,输入以下命令:
graphql users.ts
该命令会自动编译 users.ts
文件,并使用 http://localhost:8080
地址提供 GraphQL API。现在,我们可以在浏览器中访问 http://localhost:8080/graphql
,查看 GraphQL Playground。
在 GraphQL Playground 中,我们可以测试我们的 API。例如,我们可以使用以下查询获取所有用户的信息:
query { users { id name email } }
我们还可以使用以下操作向 users 数组中添加新用户:
mutation { addUser(name: "Tom", email: "tom@example.com") { id name email } }
从输出结果可以看出,我们成功向 users 数组中添加了新用户。
总结
本教程介绍了如何在 Deno 中使用 GraphQL 进行 API 开发,并提供了一个示例代码。GraphQL 提供了一种灵活且强大的方式来定义和查询 API,能够帮助我们减少不必要的资源浪费,提升 API 的性能和效率。使用 deno-graphql,我们可以轻松地在 Deno 中开发 GraphQL API,并且可以通过 GraphQL Playground 来测试我们的 API。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/64afd88748841e9894c09b08