基本的な GraphQL スキーマを構築しようとしています。GraphiQL を使用して取得するデータを含む JSON サーバーをポート 3000 で実行しています。
以下は、私が同じために書いたコードです。
const CustomerType = new GraphQLObjectType({
name:'Customer',
fields:() => ({
id: { type:GraphQLString },
name: { type:GraphQLString }
})
});
const RootQuery = new GraphQLObjectType({
name : 'RootQueryType',
fields:{
customer : {
type : CustomerType,
args:{
id:{type:GraphQLString}
},
resolve(parentValue,args){
return axios.get('http://localhost:3000/customers/?id='+args.id)
.then(res => res.data);
}
}
}
});
これが私のクエリの書き方です。
customer(id : "123"){
id,
name
}
そして、これが生成されている出力です。
{
"data": {
"customer": {
"id": null,
"name": null,
}
}
}
ただし、console.log を使用して data.json ファイルから正しいデータがフェッチされているかどうかを確認しようとすると、生成された出力には正しい null 以外の値が含まれます。誰かがこれで私を助けてくれますか? また、次のように GraphQLList を使用して、すべての顧客のリストを一度に取得しようとしても、エラーは発生しません。
customers:{
type: new GraphQLList(CustomerType),
resolve(parentValue,args){
return axios.get('http://localhost:3000/customers/')
.then(res => res.data);
}