2016-08-22 3 views
1

私は、次のようなエラーになっています:GraphQLエラー - エラー:のみGraphQLTypeのリストを作成するが、得たことができます:[オブジェクトのオブジェクト]

Error: Can only create List of a GraphQLType but got: [object Object].

をしかし、私はGraphQLTypeを渡しています。

これはエラーを引き起こすファイルです。

``` 
var GraphQL = require('graphql'); 
var BotType = require('../types/bot-type'); 
var Datastore = require('../../datastores/memory-datastore') 

const BotListType = new GraphQL.GraphQLList(BotType); 

module.exports = new GraphQL.GraphQLObjectType({ 
    type: BotListType, 
    resolve: function(object) { 
    return object.bots.map(Datastore.getBot) 
    } 
}) 
``` 

これは私が私のローカルホスト上のスキーマを再現してみました、そしてGraphQLListについてのエラーを得なかっましに関する

``` 
var GraphQL = require('graphql'); 
var RelayQL = require('graphql-relay'); 
var Node = require('../node'); 
var IntegrationListField = require('../fields/integration-list-field') 

const BotType = new GraphQL.GraphQLObjectType({ 
    name: 'Bot', 
    fields: { 
    id: RelayQL.globalIdField('Bot'), 
    name: { type: GraphQL.GraphQLString }, 
    integrations: IntegrationListField 
    }, 
    interfaces: [ Node.nodeInterface ] 
}); 

module.exports = BotType 

``` 

答えて

1

を訴えていBotTypeです。私はあなたが最初のファイルに間違ったGraphQLObjectType定義を入力したことに気付きましたので、

しかし、私は(最初のファイルに)

Error: Type must be named.

をエラーが発生します。タイプの代わりにフィールドを定義しようとしたようです。

module.exports = new GraphQL.GraphQLObjectType({ 
    name: 'BotListType', 
    fields:() => ({ 
    list: { 
     type: new GraphQL.GraphQLList(BotType), 
     resolve: function(object) { 
     return object.bots.map(Datastore.getBot) 
     } 
    } 
    }) 
}); 

私は `require`は空のオブジェクトに引っ張っていると思われるいくつかの調査の後GraphQLバージョン0.6.2

+0

を使用しています。 –

+0

'field'オブジェクトをfunctionに置き換えてみてください。 の代わりに、 'fields:{...}'は 'fields :()=>({...})'のように定義します。 – LordDave

関連する問題