2

ruby-graphql文档对接口的解析类型进行了以下说明:

...一个模式通过遍历它的字段来找到它的类型,从querymutation开始subscription。如果一个对象永远不是字段的返回类型,而只是通过接口连接,那么它必须通过 显式连接到模式orphan_types

看这里

我有一个模块的以下定义,它有两个实现它的类:

module Contact
  include GraphQL::Schema::Interface

  field :id, ID, null: false
end

class Cmpany < Types::Base
  implements Contact

  graphql_name "Company"

  field :name, String, null: false
end

class Person < Types::Base
  implements Contact

  graphql_name "Person"

  field :first_name, String, null: false
  field :last_name, String, null: false
end

就目前而言,我的代码与文档中的描述相匹配,因为类型Company永远Person不是模式中任何字段的返回类型,除了以接口作为其返回类型的查询。如果没有任何其他更改,GraphQL 将无法识别查询。Contactcontacts

orphan_types接口什么possible_types是工会?也许这是让我失望的命名,但orphan_types似乎是一种不应该使用的解决方法。这是正确的解决方案吗?

4

0 回答 0