通过认证功能解释Hexabase的GraphQL Playground的使用方法

Hexabase提供了面向企业的可靠BaaS(Backend as a Service)解决方案。与其他许多BaaS一样,我们主要希望前端开发人员能够更好地利用它。因此,我们目前正在积极开发TypeScript SDK。

在TypeScript SDK中,我们使用GraphQL API进行封装,以便更容易地从TypeScript中使用。然而,有时候可能还是需要直接执行GraphQL。因此,本文将以身份验证功能作为示例,介绍GraphQL API的使用方法。

需要的东西 de

    Hexabaseのアカウント

需要输入邮箱和密码。这次我们将使用演示账户(稍后详述)。

关于GraphQL Playground

GraphQL Playground提供了以下两个选项。这次我们将使用生产环境中的选项。

访问

访问上面的URL后,会显示如下内容。

image.png

查看文件

在GraphQL中,它的用法在模式和文档中进行了解释。打开”DOCS”并搜索”登录(login)”,将会显示如下结果。

image.png

由于认证不是获取过程,它属于Mutation。换句话说,本次将使用Mutation.login进行处理。

关于Mutation.login的内容。

点击Mutation.login后,会显示如下内容。

login(
  loginInput: LoginInput!
): TokenModel!

这意味着需要一个以loginInput为键的变量(类型为LoginInput!,!表示必须),并且响应将是TokenModel!。

根据 DOCS,LoginInput 的内容如下所示:意思是有 email 和 password 两个键,两者都是必需的字符串类型。

type LoginInput {
  email: String!
  password: String!
}

所以,首先我们将创建一个名为 loginInput 的 JSON。其内容如下,然后将其写入 QUERY VARIABLES。这些认证信息是在 TODOサンプル | Hexabase 开发指南 中公开的。

{
  "loginInput": {
    "email": "demo_app@hexabase.com",
    "password": "hexabase.com5678"
  }
}

以下是GraphQL的写法。按照之前的文档描述,我们首先写下mutation,然后指定之前JSON中定义的键和其类型。感叹号’!’代表必填意义。

登录时,您需要指定传递的参数名称和JSON变量(以$为前缀)。请注意,由于名称相似而难以区分,请多加注意。

mutation($loginInput: LoginInput!) {
  login(loginInput: $loginInput) {
		 token
  }
}

执行此操作后,将返回TokenModel!作为结果。根据模式,TokenModel!的内容如下所示。

type TokenModel {
  token: String!
}
image.png

实际上,响应将如下所示(部分省略)。数据键是必需的,其后是变异的名称。您将获得以其定义方式呈现的响应。

{
  "data": {
    "login": {
      "token": "eyJ...Lsw"
    }
  }
}

您可以通过以下方式使用Hexabase的GraphQL操作。

总结

请利用Hexabase的GraphQL来进行应用程序开发,我们提供了大量的查询选项。

API的GraphQL支持 | Hexabase开发指南

广告
将在 10 秒后关闭
bannerAds