Я использую Apollo-клиент, и я не понимаю, почему так сложно отлаживать мою ошибку: я пытаюсь выполнить вызов мутанта на моей графической реализации графического скрипта graphene python. В итоге получается код ошибки 400, и у меня нет способа получить информацию.
Например: когда я пытаюсь воспользоваться службой graphene на интерфейсе /graphQL, он возвращает мне полезные ошибки, как плохой ввод или неправильное имя метода. Здесь, на клиенте apollo, он просто меняет 400 ошибок кода. Это мне совсем не помогает. Так можно ли получить информацию об ошибке от графена от моего клиента apolo, а не бесполезную ошибку кода 400?
Вот пример из моего интерфейса graphene (/graphQL):
mutation myMutation {
uploadFile(input:"") {
success
}
}
выведет:
{
"errors": [
{
"message": "Argument \"input\" has invalid value \"\".\nExpected \"UploadFileMutationInput\", found not an object.",
"locations": [
{
"column": 20,
"line": 2
}
]
}
]
}
Когда я попробую то же самое на клиенте apollo (js):
client.mutate({
mutation: gql'
mutation($file: Upload!) {
uploadFile(input: $file) {
success
}
}
',
variables: { file } })
.then(console.log)
.catch((e) => { console.log("catch", e) })
Я получаю сообщение об Error: Network error: Response not successful: Received status code 400
Мой улов никогда не называется, и документация мне совсем не помогает.
Я хочу получить подробные ошибки мутации моих вызовов: когда я использую неправильный вызов метода или плохой тип ввода, я не должен попадать в 400 без какой-либо информации о том, что сделало мой запрос плохим.