我正在构建我的第一个基于GraphQL的项目,如果这是一个新手问题,请原谅。我已经按照以下方式安排了查询和变异:
├── graphql
│ ├── lessons
│ │ ├── logic.js
│ │ ├── query.js
│ │ ├── schema.js
│ │ └── types.js
│ ├── schema.js
│ └── users
│ ├── logic.js
│ ├── mutation.js
│ ├── query.js
│ ├── schema.js
│ └── types.js
这是我的users/query.js
文件:
const graphql = require('graphql')
const types = require('./types.js')
const logic = require('./logic.js')
module.exports = new graphql.GraphQLObjectType({
name: 'UserQuery',
fields: {
user: {
type: types.userType,
args: {
email: { type: new graphql.GraphQLNonNull(graphql.GraphQLString) }
},
resolve: (root, { email }, context) => logic.getUser(email, context)
}
}
})
在我的schema.js
中,我按照以下代码组合了users
和lessons
的查询:
module.exports = new graphql.GraphQLSchema({
query: new graphql.GraphQLObjectType({
name: 'RootQuery',
fields: {
lessons: { type: require('./lessons/query.js') },
users: { type: require('./users/query.js') }
}
})
})
现在的问题是,以下查询:
{
users {
user(email: "a@.a") {
name,
purchases
}
}
}
正在产生以下输出:
{
"data": {
"users": null
}
}
我得到一个null
来代替用户记录。我在这里做什么错了?