【发布时间】:2018-06-18 13:49:31
【问题描述】:
给定
interface Interface {
common: String!
}
type A implements Interface {
common: String!
foo: String!
}
type B implements Interface {
common: String!
bar: String!
}
是否可以构造一个查询,默认返回[Interface]只返回As,并过滤掉Bs/空对象?
当结果集中有A 和B 时
query {
q {
... on A {
foo
}
}
}
返回一个A 和一个空对象(因为我们在其他情况下不要求提供数据):
{
"data": {
"q": [
{
"foo": "foo"
},
{}
]
}
}
有关完整示例,请参阅 https://launchpad.graphql.com/zrz504kp37。
【问题讨论】:
-
你可以做到。但是确定 A 或 B 的区别因素是什么?或者您可以在解析器函数中检查空对象并删除这些条目并返回剩余的
标签: graphql apollo graphql-js