返回

通过 Hasura 和 GraphiQL 快速构建数据库和 API

前端

前言

在当今快速发展的技术领域,构建和管理数据库以及随之而来的 API 对于许多应用程序至关重要。然而,传统的方法可能既耗时又复杂,需要深入了解底层技术。

这就是 Hasura 和 GraphiQL 闪亮登场的地方。Hasura 是一个开源平台,可让您在几分钟内创建和管理 GraphQL API,而 GraphiQL 是一个强大的工具,可让您与 GraphQL API 交互并轻松执行查询。

在本文中,我们将指导您完成使用 Hasura 和 GraphiQL 从头开始创建数据库和 GraphQL API 的分步过程。我们将涵盖以下方面:

  • 安装和配置 Hasura
  • 使用 GraphiQL 创建数据库架构
  • 定义 GraphQL 模式
  • 执行查询和突变以管理数据

无论您是开发新手还是经验丰富的工程师,本指南都将为您提供在 Hasura 和 GraphiQL 的世界中迈出第一步所需的一切信息。做好准备,让我们一起踏上构建强大数据库和 API 的激动人心之旅!

第一步:安装和配置 Hasura

首先,让我们安装 Hasura CLI 工具。您可以通过在终端中运行以下命令来完成此操作:

npm install -g hasura-cli

安装完成后,使用以下命令初始化新的 Hasura 项目:

hasura init

该命令将提示您提供一些信息,例如项目名称和 GraphQL 端点 URL。完成后,您将看到以下输出:

✨ Successfully initialized Hasura project in directory: /path/to/my-project

接下来,让我们启动 Hasura 服务器:

cd /path/to/my-project
hasura serve

这将启动 Hasura 服务器,您可以在浏览器中通过以下 URL 访问 GraphQL 端点:

http://localhost:8080/v1/graphql

第二步:使用 GraphiQL 创建数据库架构

现在 Hasura 正在运行,让我们使用 GraphiQL 创建我们的数据库架构。转到 GraphQL 端点 URL 并单击“Explorer”选项卡。在左侧窗格中,您将看到一个名为“Schema”的选项卡。单击它并选择“Create Table”。

在“Create Table”对话框中,输入以下信息:

  • 表名: users
  • 列:
    • id (ID, 主键)
    • name (String)
    • email (String)

完成后,单击“Create”按钮创建表。

第三步:定义 GraphQL 模式

现在我们已经创建了数据库架构,让我们定义我们的 GraphQL 模式。在 GraphiQL“Schema”选项卡中,单击“Add Query”按钮。

在“Query”对话框中,输入以下查询:

query {
  users {
    id
    name
    email
  }
}

该查询将返回所有用户的列表。单击“Play”按钮执行查询。

您还可以定义突变以在数据库中创建、更新和删除数据。例如,要创建一个新用户,您可以使用以下突变:

mutation {
  insert_users(objects: [{ name: "John Doe", email: "john@doe.com" }]) {
    returning {
      id
      name
      email
    }
  }
}

第四步:执行查询和突变

现在我们已经定义了 GraphQL 模式,我们可以使用 GraphiQL 来执行查询和突变。

要在 GraphiQL 中执行查询,只需在左侧窗格的“Query”选项卡中输入查询,然后单击“Play”按钮。例如,要获取所有用户,您可以使用以下查询:

query {
  users {
    id
    name
    email
  }
}

要执行突变,请在左侧窗格的“Mutation”选项卡中输入突变,然后单击“Play”按钮。例如,要创建一个新用户,您可以使用以下突变:

mutation {
  insert_users(objects: [{ name: "John Doe", email: "john@doe.com" }]) {
    returning {
      id
      name
      email
    }
  }
}

结论

恭喜!您已经成功使用 Hasura 和 GraphiQL 创建了一个数据库和 GraphQL API。现在,您可以使用此 API 来管理数据,并将其集成到您的应用程序中。

Hasura 和 GraphiQL 是构建强大数据库和 API 的强大工具。通过使用这些工具,您可以节省大量时间和精力,并专注于为您的用户提供有价值的功能。

随着您对 Hasura 和 GraphiQL 的深入了解,您可以探索更多高级功能,例如权限管理、事件触发器和自定义函数。这些功能将使您能够创建功能更强大、更灵活的数据库和 API。

感谢您阅读本指南。如果您有任何疑问或反馈,请随时与我们联系。