我使用Apollo客户端运行Java GraphQL服务器。我的模型基于人物角色 - 每个人都可以是'演员','SoccerPlayer','政治家'等等,都实现了'人物'界面。 我有一个'搜索'字段,返回'Person'列表,但是一个实体可能有两种类型.. 例如,查询
时Search (text: "Ronald Reagan"){
id
name
... on Actor{
films{
name
}
}
... on Politician{
party{
name
}
}
}
我希望能为前美国总统和演员获得“电影”和“派对”,尽管typeResolver(服务器端)强迫我只返回一种类型。这对GraphQL来说是否可行?也许我的模特错了? 感谢
答案 0 :(得分:0)
GraphQL规范不允许进行多级继承,因此对于您的特定结构,Person
可以是一个,也可以是Actor
和Politician
。< / p>
如果您将Actor
和Politician
转换为接口本身,您可以稍微接近目标,但是您必须再次重复Person
中的字段,没有多级继承是可能的。