Тип ввода в apollo graphql не работает должным образом

#graphql #apollo-server

#graphql #apollo-сервер

Вопрос:

Я использую apollo graphql и для создания новых данных хочу использовать данные типа ввода. Я нашел документацию об этом https://www.apollographql.com/docs/apollo-server/schema/schema/#input-types но нигде не говорится о том, как вызвать его из решателей. Это мой код:

     const { ApolloServer, gql } = require('apollo-server');
    var typeDefs=gql`
    input CourseInput {
        id: Int
        title: String
        author: String
        description: String
        topic: String
        url: String
    }
    type Course {
        id: Int
        title: String
        author: String
        description:String
        topic:String
        url: String
    }
    type Mutation {
        createCourse(input: CourseInput): [Course]
    }
    `;
    var coursesData = [
        {
            id: 1,
            title: 'First one',
            author: 'Andrew Mead, Rob Percival',
            description: 'Learn Node.js',
            topic: 'Node.js',
            url: 'https://example.com'
        },
        {
            id: 2,
            title: 'Node.js, Express amp; MongoDB Dev to Deployment',
            author: 'Brad Traversy',
            description: 'Learn by example building amp; deploying reah',
            topic: 'Node.js',
            url: 'https://newbook.com'
        },
    ]
var resolvers= {
Mutation: {
  createCourse:(parent,{input})=>{
    coursesData = [...coursesData, input];
    console.log("input je" ,input)
    console.log("coursesdata" ,coursesData)
    return coursesData;
  }
},
};
const server = new ApolloServer({ typeDefs, resolvers,tracing:true });

// The `listen` method launches a web server.
server.listen().then(({ url }) => {
  console.log(`🚀  Server ready at ${url}`);
  

На моем локальном хосте: 4000 я делаю запрос для создания нового курса, подобного этому:

 mutation createCourse($input: CourseInput) {
  createCourse(input: $input) {
    id
    title
    author
    description
    topic
    url
  }
}
{
  "input": {
    "id": 4,
    "title": "ovo je novi kurs",
    "author": "delila",
    "description": "neki novi description",
    "topic": "programming",
    "url": "google.com"
  }
}
  

Но результат добавления нового курса всегда равен нулю. Я думаю, что есть проблема с распознавателем, но даже я провел исследование, я не смог найти решение. Если кто-то знает, в чем проблема, пожалуйста, отправьте ответ и помогите мне!

Вы можете посмотреть на изображениевведите описание изображения здесь

Спасибо

Комментарии:

1. правильно ли resolver регистрирует ввод?

2. Нет. Входная переменная пуста

3. консоль. регистрируйте полные аргументы param / object

4. Мне просто нужно удалить {} из входного параметра, и все в порядке. Дорогой @xadm большое вам спасибо за помощь. Я действительно ценю это