是否可以使用GraphQL将接口实现到另一个接口?

时间:2018-05-07 06:02:49

标签: graphql

我想进行更深层次的抽象。

interface Person {
  name
}

interface SpecialPerson implements Person{
  name
  speciality
}

type PrettyAwesomPerson implements SpecialPerson{
  name
  speciality
  awesomeThings
}

这样的事情可能吗?我提到它的方式不起作用,我遗憾地找不到一个好的文档或其他问题

2 个答案:

答案 0 :(得分:1)

不,规范目前不允许这样做。我们的想法是保持语言相对简单。不过,还有一个以上的公开建议可以改变这一点:GraphQL#295GraphQL#335。按照这些跟踪进度。

答案 1 :(得分:1)

GraphQL规范now supports interfaces implementing other interfaces

在定义实现另一个接口的接口时,实现接口必须定义由实现的接口指定的每个字段...传递实现的接口(由正在实现的接口实现的接口)也必须在实现上定义类型或界面。

自15.0.0版开始的(JavaScript)参考实现中可用。我认为Java实现尚不支持它,但将来会支持。