Apollo GraphQL "Невозможно вернуть ноль для ненулевого поля Mutation.createUser" - PullRequest
0 голосов
/ 11 июня 2019

Я знаю, что это довольно распространенная проблема, но моя реализация отличается от других постов.Я использую самую базовую реализацию, которую я не могу заставить работать.Я использую Sequelize с MySQL в качестве реализации базы данных.

resolvers.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
            })
        },
    },
}

schema.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}}

Я получаю:

"ошибки": [{"message": "Невозможно вернуть значение NULL для пустого поля Mutation.createUser.", "Location": [{"line": 2, "column": 3}], "path": ["createUser"],

...