Ошибка GraphQL: ожидаемый тип Int. Int не может представлять нецелое значение - PullRequest
2 голосов
/ 11 февраля 2020

В настоящее время я изучаю GraphQL с помощью Apollo для React, и у меня возник вопрос, который я не могу найти в Интернете: я создал форму для отправки данных для моего mongoDB, и у меня есть этот запрос:

const addContactMutation = gql`
    mutation($name: String!, $address: String!, $vat: Int!, $zip: String!, $email: String!, $contact: Int!){
        addContact(name: $name, address: $address, vat: $vat, zip: $zip, email: $email, contact: $contact){
            name
            vat
            email
        }
    }
`

Однако мои $vat и $contact являются большими числами, и при отправке формы я получаю эту ошибку:

Переменная "$ vat" получила недопустимое значение " 232214336" ; Ожидаемый тип Int. Int не может представлять нецелое значение

Какой тип я должен использовать для этого?

1 Ответ

2 голосов
/ 11 февраля 2020

232214336 не такой большой, максимальное число int 9007199254740991

console.log(Number.MAX_SAFE_INTEGER);

Я думаю, проблема в том, что вы передали строковое значение "232214336", когда ожидается значение Int, так как ошибка говорит Expected type Int, поэтому вам нужно преобразовать значение в целое число до или при передаче переменных в мутацию с использованием parseInt()

addContact({ variables: { vat: parseInt(vat, 10), contact: parseInt(contact, 10), ... } })
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...