Невозможно получить ошибки, возникшие при мутации Graphql в проекте flutter - PullRequest
1 голос
/ 21 июня 2020

Я использую пакет graphql_flutter для операций GraphQL в моем приложении flutter. Запросы и мутации идут хорошо, но я не могу восстановить ошибки, следуя способам, указанным в их do c. Каждый раз, когда я получаю общее c сообщение об ошибке, которое:

ClientException: Failed to connect to http://127.0.0.1:3006/graphql: 

Это я получаю, выполняя,

print(result.exception.toString());

Моя мутация выглядит так:

final MutationOptions mutationOptions = MutationOptions(
  documentNode: gql(mutationString),
  variables: vars
);

final QueryResult result = await _instance._client.mutate(mutationOptions);

if (result.hasException) {
  // none of the following prints the expected error.
  print(result.exception.clientException.message);
  print(result.exception.graphqlErrors);
  print(result.exception.toString());
}

print(result.data);

return result.data;

В то время как в клиенте apollo Моя ошибка:

{
  "errors": [
    {
      "message": "Invalid Phone number provided",
      "locations": [
        {
          "line": 2,
          "column": 3
        }
      ],
      "path": [
        "otp"
      ],
      "extensions": {
        "code": "INTERNAL_SERVER_ERROR",
         ....

Но я ничего этого не получаю.

Примечание. Успешный ответ приходит, как и ожидалось. Я хотел бы знать, как я могу получить ошибки graphql.

Ответы [ 2 ]

1 голос
/ 28 июня 2020

Я нашел проблему. Это потому, что android не может подключиться к 127.0.0.1 или localhost из эмулятора. Я заменил хост своим локальным IP-адресом, и теперь он работает нормально.

0 голосов
/ 22 июня 2020

Поместите это в блок try / catch и посмотрите, сможет ли он перехватить какие-либо исключения

final QueryResult result = await _instance._client.mutate(mutationOptions);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...