GraphQL学习第二篇 -GraphQL类型与查询方式

1. GraphQL的类型

GraphQL 的类型系统分为标量类型(Scalar Types,标量类型)和其他高级数据类型。

标量类型即可以表示最细粒度数据结构的数据类型,可以和 JavaScript 的原始类型对应。

1.1. GraphQL 规范目前规定支持的标量类型

1. Int -有符号 32 位整数;

2. Float-有符号双精度浮点值;

3. String-UTF‐8 字符序列;

4. Boolean-true 或者 false;

5. ID-ID 标量类型表示一个唯一标识符,通常用以重新获取对象或者作为缓存中的键;

1.2. GraphQL 其他高级数据类型

1. Object - 对象,用于描述层级或者树形数据结构,对于树形数据结构来说,叶子字段的类型都是标量数据类型,几乎所有 GraphQL 类型都是对象类型。Object 类型有一个 name 字段,以及一 个很重要的 fields 字段,fields 字段可以描述出一个完整的数据结构;

2. Interface-接口,用于描述多个类型的通用字;

3. Union-联合类型,用于描述某个字段能够支持的所有返回类型以及具体请求真正的返回类型;

4. Enum-枚举,用于表示可枚举数据结构的类型 ;

5. Input Object-输入对象;

6. List -列表,列表是其他类型的封装,通常用于对象字段的描述;

7. Non-Null-不能为 Null,Non-Null 强制类型的值不能为 null,并且在请求出错时一定会报错。可以用于必须保证值不能为 null 的字段,例如数据库的行的 id 字段不能为 null;

2. GraphQL的查询方式

GraphQL 规范支持两种操作:

1. query-仅获取数据(fetch)的只读请求;

2. mutation-获取数据后还有写操作的请求;

新版本的 GraphQL 还支持 subscription ,这是为了处理订阅更新这种比较复杂的实时数据更新场景而设计的操作。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

aiguangyuan

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值