2016-09-14 13 views
1

私はgraphqlと急行サーバを実行しようとしていると私は次のエラーを取得:GraphQL:Query.exampleフィールドタイプは、出力タイプが、持っている必要があります。[オブジェクトのオブジェクト]

Error: Query.example field type must be Output Type but got: [object Object].

エクスプレス - をルートで使用graphql:

app.use('/graphql', graphqlHTTP(req => ({ 
schema, 
pretty: true 
}))); 

スキーマは以下のようになります。

export default new GraphQLSchema({ 
query: new GraphQLObjectType({ 
    name: 'Query', 
    fields: queries 
}) 
}); 

クエリが一つだけのクエリことがありますここからインポート:

import { 
GraphQLList, 
GraphQLID, 
GraphQLNonNull 
} from 'graphql'; 

import exampleScheme from '../models/schemes/example'; 
import {example as exampleData} from '../models/jsons' 

export default { 
type: exampleScheme, 
resolve (root, params, options) { 
    return exampleData; 
} 
}; 

スキーマ(exampleScheme)とデータ(exampleScheme)が別のプロジェクトに取り組んでいるので、私は、彼らが問題じゃないと仮定します。

アイデア? 「出力タイプ」とはどういう意味ですか?

答えて

2

export default { 
type: exampleScheme, 
resolve (root, params, options) { 
    return exampleData; 
} 
}; 

は、その後、あなたはそれが間違っていました、クエリで クエリのフィールド、したがって、あなたの例では照会し、このように見てする必要がある場合:

export default { 
helloString: { 
    type: GraphQLString, 
    resolve (root, params, options) { 
     return "Hello World!"; 
    } 
} 
... <Next query> 
}; 

とにかく、誤りがあります'type'は有効なGraphQLTypeではありません。 になり、その後のクエリは、この

query { 
    testString 
} 

次のようになります。意味はexampleSchemeは、あなたが使用して作成していることを確認してくださいいくつかの他のオブジェクト、 であるということであった場合

{ 
    testString: "Hello World!" 
} 

new GraphQLObjectType({ .... Options }); 

希望すると助かります! :)

+0

おかげで、私は別のプロジェクトからスキームをインポートしたので、exmapleスキームは 'GraphQLObjectType'の代わりに 'GraphQLSchema'でした。 – alonp99

関連する問題