当前位置: 首页 > 知识库问答 >
问题:

实现接口的Graphql对象未从接口继承解析程序

严朝明
2023-03-14

我正在使用GraphQL工具来构建一个GraphQL模式,本质上我有这个结构

const typeDefs = `
type Query {
  author(name: String): Author
}
interface Person {
  id: Int 
  name: String
  citizenship: String
type Author implements Person {
  id: Int
  name: String
  citizenship: String
`

我有以下解析器

const resolvers = {
  Query: {
    author(_,args) {
        return Author.find({where: args});
    }
  }
  Person: {
    citizenship() {
      return "Example Citizenship";
    }
  }
}

我让模式可执行

const schema = makeExecutableSchema({
  typeDefs,
  resolvers,
  inheritResolversFromInterfaces: true
});

可选参数inheritResolversFromInterfaces:true应该允许我根据apollo graphql工具文档(链接)将公民身份解析程序从Person继承到Author。这样,当查询作者时,“示例公民身份”字符串将出现。

然而它没有,查询返回

"author": {
  "id": 1,
  "name": "Peter",
  "citizenship": null
} 

共有1个答案

司寇嘉茂
2023-03-14

解决了,在v2.24.0版本中添加了特性in遗产ResolversFromInterface: true,需要该版本才能使用该特性。

 类似资料:
  • 问题内容: 我有以下界面: 我在下面有抽象类(没有提到方法插入): 我有具体的课程: 最后,SpecificEntryBean定义为: 我有以下错误: 类型SpecificEntry必须实现继承的抽象方法SingleRecordInterface.insert(AbstractEntryBean) 考虑到SpecificEntryBean扩展了AbstractEntryBean,所以我不明白此错误

  • 本文向大家介绍PHP接口继承及接口多继承原理与实现方法详解,包括了PHP接口继承及接口多继承原理与实现方法详解的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了PHP接口继承及接口多继承原理与实现方法。分享给大家供大家参考,具体如下: 在PHP的接口中,接口可以继承接口。虽然PHP类只能继承一个父类(单继承),但是接口和类不同,接口可以实现多继承,可以继承一个或者多个接口。当然接口的继承也是

  • 我对类上的接口实现的理解是,接口类型引用实现接口的类的对象。 但是当我研究下面的代码片段在上面的代码中使用时… GetConnection(host,username,password)返回对对象的引用(类型为Connection),但DriverManager类中没有实现接口。谁能澄清我的这个疑问..?还是我漏掉了什么? 下面的代码段不能得到相同的东西 createStatement()应该返回

  • 我有两个接口: 和: 从注释中可以看到,不编译。为什么不呢?我该怎么修复它呢?扩展了,所以它应该可以工作,对吗?

  • 我已经研究了接口、抽象类和继承的用法。我知道每一种都有其用途,但我还是有点困惑。 我知道一般一个类只能扩展另一个类,虽然有些可能支持多个继承,但它可以实现多个接口(这可能是使用接口的主要原因)。然而,如果我是正确的,这个类也可以被另一个类扩展。我还看到抽象类可能比接口更快,并且可以有非静态的最终变量。 所以,我仍然不确定什么时候使用哪个更好。也许通过举例可以更好地理解这一点。我不反对使用任何东西,

  • 在定义一个类时往往会使其继承某个父类或者实现某个接口,在扩展中实现这个功能非常方便。下面我先给出PHP语言中的代码。 <?php interface i_myinterface { public function hello(); } class parent_class implements i_myinterface { public function hello()