GraphQL 是一种用于 API 的查询语言,它使得客户端能够精确地请求所需的数据,而无需请求多余的数据。这种查询语言的流行度正在不断增加,因为它可以提高 API 的性能和可扩展性。而 Deno 是一个新兴的 JavaScript 和 TypeScript 的运行时,它的出现给前端开发带来了新的思路和挑战。本文将介绍如何在 Deno 中构建 GraphQL API。
安装 Deno
要开始使用 Deno,您需要先安装它。您可以在 Deno 的官方网站 上找到安装指南。
安装相关依赖
要在 Deno 中构建 GraphQL API,您需要安装以下依赖项:
- oak - 用于构建 Web 服务器的框架。
- graphql - 用于构建 GraphQL API 的 JavaScript 实现。
- graphql-tools - 用于构建 GraphQL schema 的工具。
您可以使用以下命令来安装它们:
---- ------- ----------- ------------ -------------------------------------- ---- ------- ----------- ------------ ------------- -------------- ---------- ----------------------------------
创建 GraphQL schema
在构建 GraphQL API 之前,您需要定义 schema。Schema 描述了可用的查询和变更以及它们的输入和输出类型。
在本例中,我们将创建一个简单的 schema,它将包含一个查询类型 hello
,它将返回一个字符串。我们将使用 makeExecutableSchema
函数从 GraphQL Tools 中构建 schema:
------ - -------------------- - ---- ---------------- ----- -------- - - ---- ----- - ------ ------ - -- ----- --------- - - ------ - ------ -- -- ------ -------- -- -- ------ ----- ------ - ---------------------- --------- ---------- ---
在上面的代码中,我们定义了一个名为 Query
的类型,并在其中定义了一个名为 hello
的字段。该字段将返回一个字符串 "Hello world!"
。
创建 Web 服务器
现在,我们需要创建一个 Web 服务器,以便我们的 API 可以被访问。我们将使用 oak 框架来创建 Web 服务器。
------ - ----------- - ---- --------------------------------- ------ - ------------ - ---- ----------------------------------------- ------ - ------ - ---- -------------- ----- --- - --- -------------- ----- -------------- - ----- -------------- ----- ----------- --------- ------- --- -------------------------------- --------------------------------- ------------------- ----- -- ------------------------ ----- ------------ ----- ---- ---
在上面的代码中,我们创建了一个新的 Application
实例,并使用 applyGraphQL
函数创建了一个 GraphQL 服务。我们将 schema 传递给 applyGraphQL
函数。我们还指定了 GraphQL 服务的路径 /graphql
。最后,我们将 GraphQL 服务添加到应用程序中,并开始监听端口 4000
。
测试 GraphQL API
现在,我们已经成功地创建了一个 GraphQL API。我们可以使用 GraphQL Playground 来测试 API。
在浏览器中打开 http://localhost:4000/graphql,您将看到 GraphQL Playground。在左侧的窗格中,您可以编写 GraphQL 查询。在右侧的窗格中,您将看到查询的结果。
我们可以使用以下查询来测试我们的 API:
----- - ----- -
该查询将返回以下结果:
- ------- - -------- ------ ------- - -
总结
在本文中,我们介绍了如何在 Deno 中构建 GraphQL API。我们使用了 oak 框架来创建 Web 服务器,并使用 GraphQL Tools 来构建 schema。我们还演示了如何使用 GraphQL Playground 来测试 API。
GraphQL 是一种强大的查询语言,它可以提高 API 的性能和可扩展性。Deno 是一个新兴的运行时,它为前端开发带来了新的思路和挑战。使用 Deno 和 GraphQL,您可以构建出高效和可维护的 API。
来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/650ea6b995b1f8cacd7bbf8f