Ошибка GraphQL: переменная id имеет принудительное значение Null для типа ID, отличного от Null!

Я использую сервис AWS AppSync в качестве своего сервера GraphQL. Я передаю мутационный тег GraphQL для создания пользователя, но почему-то получаю эту ошибку в консоли:

GraphQL error: Variable 'id' has coerced Null value for NonNull type 'ID!'

Тег мутации GraphQL выглядит так:

     import gql from 'graphql-tag';

    export default gql`
    mutation addUser ($id:ID!,$name:String!,$email:String!,$number:String!,$gender:String!,$password:String!,$createdAt:String!,$type:String!){
      addUser(
            id:$id,
            name:$name,
            email:$email,
            number:$number,
            gender:$gender,
            password:$password,
            createdAt:$createdAt,
            type:$type
          ){
            id
            name
            email
          }
       }`;

и я передаю этот тег GraphQL в свой SignupForm.js, чтобы создать такого пользователя:

    export default graphql(AddUser,{
    props:props=>({
    AddUser:user=>props.mutate({
      variable:user,
      })
    })
    })(SignUpForm);

Когда я звоню this.props.AddUser(user)

где пользователь - это объект сведений о пользователе для регистрации

У меня указанная выше ошибка.

Вы можете распечатать свой user?

Tico 02.04.2018 20:30

Может быть, у вас опечатка и это должен быть variables: user вместо variable: user?

Tal Z 02.04.2018 22:10

спасибо большое, теперь он работает

Rizwan 03.04.2018 07:22

@TalZ, пожалуйста, добавьте свой ответ в качестве ответа, чтобы другие могли его быстро найти. @Rizwan Вы рассматривали новый компонент Mutation? dev-blog.apollodata.com/…

Stephen 07.04.2018 21:54
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Что такое Apollo Client и зачем он нужен?
Что такое Apollo Client и зачем он нужен?
Apollo Client - это полнофункциональный клиент GraphQL для JavaScript-приложений, который упрощает получение, управление и обновление данных в...
2
4
4 861
1

Ответы 1

Похоже, проблема в опечатке в параметрах мутации:

{ variable: user } должен быть { variables: user } (с буквой "s")

Другие вопросы по теме