Schema 和类型
在本页,你将学到关于 GraphQL 类型系统中所有你需要了解的知识,以及类型系统如何描述可以查询的数据。因为 GraphQL 可以运行在任何后端框架或者编程语言之上,我们将摒除实现上的细节而仅仅专注于其概念。
联合类型(Union Types)
联合类型和接口十分相似,但是它并不指定类型之间的任何共同字段。
union SearchResult = Human | Droid | Starship
在我们的schema中,任何返回一个 SearchResult
类型的地方,都可能得到一个 Human
、Droid
或者 Starship
。注意,联合类型的成员需要是具体对象类型;你不能使用接口或者其他联合类型来创造一个联合类型。
这时候,如果你需要查询一个返回 SearchResult
联合类型的字段,那么你得使用条件片段才能查询任意字段。
# { "graphiql": true}
{
search(text: "an") {
... on Human {
name
height
}
... on Droid {
name
primaryFunction
}
... on Starship {
name
length
}
}
}
当前内容版权归 GraphQL中文网 或其关联方所有,如需对内容或内容相关联开源项目进行关注与资助,请访问 GraphQL中文网 .