尝试运行查询时,联合类型的GraphQL类型错误([错误:未知类型...])

Nik*_*avi 5 graphql graphql-js

我已经设置了一个graphql模式,其中一个字段('items')是一个Union类型的对象列表,即列表项可以是两个对象类型之一(在这种情况下,它们被称为'packageOfferItem'和' tileItem').

var searchResultItemType = new graphql.GraphQLUnionType({
  name: 'SearchResultItems',
  types: [ packageOfferItem, tileItem ],
  resolveType: function (value) {
    if (value.type === 'packageOffer') {
      return packageOfferItem;
    } else if (value.type === 'tile') {
      return tileItem;
    } else {
      return null;
    }
  }
});

var searchResultItemsType = new graphql.GraphQLList(searchResultItemType);
Run Code Online (Sandbox Code Playgroud)

items然后该字段是类型searchResultItemsType.

在我的测试中,我有一个查询,items使用表示法从文件中请求数据 :

{ 
  items {
     ...on packageOfferItem {
       id
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

在我的测试中我得到一个错误 [Error: Unknown type "packageOfferItem".] message: 'Unknown type "packageOfferItem".' } ]

这个错误来自哪里?packageOfferItem是graphql NamedType所以我不明白为什么查询响应中有错误.

对模式的反省不会抛出任何错误,因此模式本身在语法上是有效的.