Мутация не работает через Apollo, но она отлично работает с Graphiql, на самом деле nodeJS Мутационный код не выполняется, если мы обращаемся к нему с помощью Apollo, а остальные запросы работают с Apollo, но только мутация не работает.
const Mutation = new GraphQLObjectType({
name: 'Courses',
fields: {
addCourse: {
type: CourseType,
args: {
name: {type: new GraphQLNonNull(GraphQLString)},
price: {type: new GraphQLNonNull(GraphQLInt)},
authorId: {type: new GraphQLNonNull(GraphQLID)}
},
resolve(parent, args){
console.log("Args: ", args);
const course = new CourseModel({
name: args.name,
price: args.price,
authorId: args.authorId
});
console.log(course);
return course.save();
}
},
addAuthor: {
type: AuthorType,
args: {
name: {type: new GraphQLNonNull(GraphQLString)},
age: {type: new GraphQLNonNull(GraphQLInt)}
},
resolve(parent, args){
const author = new AuthorModel({
name: args.name,
age: args.age
});
return author.save();
}
}
}
})
Реакция кода Аполлона:
export const addCourseMutation = gql`
мутация ($ name: String !, $ price: Int !, $ authorId: ID!) {addCourse (имя: $ name, цена: $ цена, authorId: $ authorId) {имя цена
}} `;