【发布时间】:2019-04-12 22:58:54
【问题描述】:
graphql 官方指南和 howtographql 教程都没有指定一致的分桶/类型层次结构。
GraphQL 模式最基本的组件是对象类型
...
架构中的大多数类型只是普通的对象类型,但架构中有两种特殊类型:查询、突变。 [我的笔记:他们忘记订阅了]
...
除了作为模式的“入口点”之外,Query 和 Mutation 类型与任何其他 GraphQL 对象类型相同,并且它们的字段工作方式完全相同
...
这就是标量类型的用武之地:它们代表查询的叶子
...
枚举类型是一种特殊的标量
...
对象类型、标量和枚举是您可以在 GraphQL 中定义的唯一类型。 [我的笔记:这并不完全正确,因为枚举是特殊的标量类型]
...
接口是一种抽象类型
...
联合类型与接口非常相似
...
输入类型看起来与常规对象类型完全相同,但使用关键字 input 而不是 type
来自HowToGraphQL:
在 GraphQL 中,有两种不同的类型。
标量类型
对象类型
...
枚举是一种特殊的标量类型。
...
接口可用于以抽象方式描述类型。
...
联合类型可以用来表示一个类型应该是其他类型的集合。
我的最佳猜测
- GraphQL 中只存在 两种 类型:
- 对象类型
- 标量类型
- 对象类型包括
- 自定义对象类型
- 3 种特殊对象类型:Query、Mutation、Subscription
- 标量类型包括
- 5 种内置标量类型
- 自定义标量类型
- 枚举类型
- 接口和联合
- 这些实际上是不是类型
- 它们是用于描述对象类型的机制
- 输入类型
- 同样,实际上不是类型
- 它是一种机制,通过它可以将对象和标量类型用作查询中的输入
问题
是否有正确的(官方)分桶?我上面的“最佳猜测”是否正确?
【问题讨论】:
标签: javascript graphql