gpt4 book ai didi

node.js - Apollo GraphQL "Cannot return null for non-nullable field Mutation.createUser"

转载 作者:太空宇宙 更新时间:2023-11-03 22:05:00 35 4
gpt4 key购买 nike

我知道这是一个比较常见的问题,但我的实现与其他帖子不同。我正在使用最基本的实现,但我无法开始工作。我使用 Sequelize 和 MySQL 作为数据库实现。

解析器.js

const resolvers = {
Query: {
async getStudent (root, { id }, { models }) {
return models.User.findByPk(id)
},
},
Mutation: {
async createUser (root, { name, email }, { models }) {
return models.User.create({
name,
email
})
},
},
}

架构.js

const { gql } = require('apollo-server-express');
const typeDefs = gql`
type User {
id: Int!
name: String!
email: String!
}
type Query {
getUser(id: Int!): User
getAllUsers: [User!]!
}
type Mutation {
createUser(name: String!, email: String!): User!
}`
module.exports = typeDefs;

用户模型

'use strict';
module.exports = (sequelize, DataTypes) => {
const User = sequelize.define('User', {
name: DataTypes.STRING,
email: DataTypes.STRING
}, {});
User.associate = function(models) {
// associations can be defined here
};
return User;
};

然而,当运行以下突变时:

mutation{ createUser(name:"Nate", email:"nate@test.com"){ id } }

我收到:

"errors": [ { "message": "Cannot return null for non-nullable field Mutation.createUser.", "locations": [ { "line": 2, "column": 3 } ], "path": [ "createUser" ],

最佳答案

此错误是因为您的解析器未返回任何有效的用户对象。只需 console.log() createUser 解析器来检查它返回的内容。然后你就可以追踪问题的原因

关于node.js - Apollo GraphQL "Cannot return null for non-nullable field Mutation.createUser",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56538163/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com