是否可以查询所有类型的字段。
示例
{
allPosts {
... on PostType {
title
}
... on Post2Type {
title
}
}
}
将有两个以上的PostType,所以我想得到的是这个。 AllPostTypes是所有合并的PostType。
{
allPosts {
... on AllPostTypes {
title
}
}
}
这甚至可能吗? 谢谢!
答案 0 :(得分:0)
是的,假设您的模式如下:
type Query {
allPosts: [AllPostTypes!]!
}
interface AllPostTypes {
title: String!
}
一个接口定义一个或多个实现类型的字段也必须定义。因此,实现AllPostTypes
的类型还必须定义一个title
字段。如果您有一个返回AllPostTypes
的字段,我们可以使用AllPostTypes
作为on
的条件来请求任何此类公共字段:
{
allPosts {
... on AllPostTypes {
title
}
}
}
但是,此处散布的片段是不必要的。因为这些字段是allPosts
返回的任何对象所共有的,所以我们可以这样写:
{
allPosts {
title
}
}
仍然需要使用片段扩展来添加特定于特定实现类型的任何字段,
{
allPosts {
title
... on Post2Type {
someOtherField
}
}
}