Hasura GraphQL 简单入门(二)
1,什么是Hasura GraphQL
简单的说GraphQL是一个规范,而Hasura是实现它的组件。 GraphQL 是一种面向数据的 API 查询风格。传统的 API
拿到的是前后端约定好的数据格式,GraphQL 对 API
中的数据提供了一套易于理解的完整描述,客户端能够准确地获得它需要的数据,没有任何冗余,也让 API
更容易地随着时间推移而演进,还能用于构建强大的开发者工具。
2,如何使用Hasura GraphQL
首先连接上你想操作的数据库,具体点击步骤为:
DATA---Manage --- Connect Database
,后会出现具体的连接数据库画面,根据参数填写即可连接成功
2.1 创建表
假设我们要为Test和Test2模式创建两个简单的表: 第一步:
点击DATA----- Create Table
第二步:设置表名–字段–主键–即可添加此表
创建成功,此处以profiles表为例,添加具体值点击
Insert Row
即可
2.2 跟踪表
连接上所需数据库后,点击
Track
即可跟踪表
以“
danger_goods_basic_information
”表为例,可见以跟踪成功
这时我们可以对
danger_goods_basic_information
表进行查询,可见通过简单的查询语句数据库信息已快速的展示出来
2.3 增查语句
新增语句
mutation add_author {
insert_profiles(objects: [{name: "Jane"}]) {
affected_rows
returning {
id
name
}
}
}
查询语句
query{
profiles{
id
name
}
}
2.4 表关系
要进行嵌套对象查询,需要通过关系连接数据库中的表/视图。
比方说,我们已经在我们的数据库中的以下表:authors,passport_infos,articles和tag
2.4.1 GraphQL 模式关系
2.4.2 创建关系
首先假设我们先有两张表,
authors(id, name)articles(id, title, content, rating, author_id)
,现在让我们连接这些表以使用外键启用嵌套查询
第一步:点击表名的
Modify
选项,随后找到Foreign Keys
,如下图填写即可
第二步:点击表名—
Relationships
,如下图可视即可
第三步:即可进行嵌套查询,如下图所示:
我们也可反向操作,一个作者可以有多篇文章多本书,点击表名
(authors)---Relationships
获取作者列表和每个作者作品的嵌套列表: