Я знаю, что это довольно распространенная проблема, но моя реализация отличается от других постов.Я использую самую базовую реализацию, которую я не могу заставить работать.Я использую 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"],