使用内联片段时,查询接口不起作用,但是类型实际上可以

时间:2018-06-25 20:52:40

标签: graphql graphql-tools

我有一个由均实现一个接口的类型组成的Union。当我尝试查询Union中的类型时,它可以工作,但是如果使用条件片段,则它不工作。 即

example(id: 1) {
  /// This Works
  ... on ExampleType {
     id
  }
  /// But this does not work
  ... on exampleInterface {
     id
  }

这是我的代码外观的一个示例,我简化了代码,因为它是一个很大的架构。

var exampleInterface = new GraphQLInterfaceType({
  name: 'exampleInterface',
  description: 'Interface',
  fields: () => somefields
});
var ExampleType = new GraphQLObjectType({
   name: 'Type 1',
   description: 'example type 1',
   interfaces: [exampleInterface],
   isTypeOf: function(obj) {
    return obj.semantic_type === 'Example1Type';
   }
});

var UnionType = new GraphQLUnionType({
  name: 'Union Type'
  description: 'Example description',
  types: [
    ExampleType
  ]
});

var queryType = new GraphQlObjectType({
  name: 'Query'
  fields: () => {
     example: field(UnionType, 'description', {
       args: args,
       resolve: someResolver
   })
});
var OrigSchema = new GraphQLSchema({
  query: queryType
});
var RootSchema = mergeSchemas({
  schemas: [OrigSchema]
}

我读到问题可能与功能mergeSchemas有关。

0 个答案:

没有答案