通过认证功能解释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后,会显示如下内容。

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

由于认证不是获取过程,它属于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!
}

实际上,响应将如下所示(部分省略)。数据键是必需的,其后是变异的名称。您将获得以其定义方式呈现的响应。
{
"data": {
"login": {
"token": "eyJ...Lsw"
}
}
}
您可以通过以下方式使用Hexabase的GraphQL操作。
总结
请利用Hexabase的GraphQL来进行应用程序开发,我们提供了大量的查询选项。
API的GraphQL支持 | Hexabase开发指南