Nat*_*anL 5 node.js sequelize.js graphql apollo-server
我知道这是一个比较常见的问题,但我的实现与其他帖子不同。我正在使用最基本的实现,但我无法开始工作。我使用 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
})
},
},
}
Run Code Online (Sandbox Code Playgroud)
架构.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;
Run Code Online (Sandbox Code Playgroud)
用户模型
'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;
};
Run Code Online (Sandbox Code Playgroud)
然而,当运行以下突变时:
突变{ createUser(名称:“Nate”,电子邮件:“nate@test.com”){ id } }
我收到:
"errors": [ { "message": "不能为不可为 null 的字段 Mutation.createUser 返回 null。", "locations": [ { "line": 2, "column": 3 } ], "path": [ “创建用户” ],
| 归档时间: |
|
| 查看次数: |
19601 次 |
| 最近记录: |