“ orphan_types”是指定接口可能的解析类型的唯一方法吗?

时间:2018-08-13 01:34:14

标签: graphql-ruby

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

  

...模式通过遍历其字段(从querymutationsubscription开始,找到其类型。如果对象从不是字段的返回类型,但仅通过接口连接,则必须通过orphan_types将其显式连接到架构。

See here

我对模块有以下定义,其中有两个实现该模块的类:

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

就目前而言,我的代码与文档中的描述匹配,因为类型CompanyPerson永远是 never 模式中任何其他字段的返回类型比以接口Contact作为返回类型的查询。没有任何其他更改,GraphQL将无法识别contacts查询。

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

0 个答案:

没有答案