Запрос GraphQL хорошо работает для одного поля, но ошибки для второго?

Я использую Apollo Client 2. Я получаю результат, который мне кажется странным, но я новичок в GraphQL.

Я создал простую схему с 2 полями. Когда я запрашиваю одно из полей, оно работает, но другое возвращает ошибку:

Схема:

type Query {
    hi: String
    groups: [Group]
}

type Group {
    name: String
    test: String
}

Resolvers:

Query: {
    hi() {
        return 'howdy';
    },
    groups() {
        // Here I'm mocking a database call 
        return [{ name: '1', test: 'test 1' }, { name: '2', test: 'test 2' }];
    },
},

В GraphiQL этот запрос работает:

{
  groups {
    name
  }
}

Результат:

{
 "data": {
    "groups": [
      {
        "name": "1"
      },
      {
        "name": "2"
      }
    ]
  }
}

Но когда я запрашиваю тестовое поле:

{
  groups {
    test
  }
}

Я получаю ошибку:

{
  "errors": [
    {
      "message": "Cannot query field \"test\" on type \"Group\".",
      "locations": [
        {
          "line": 3,
          "column": 5
        }
      ]
    }
  ]
}

1 ответ

Решение

Мне просто нужно было обновить страницу GraphiQL. Doh!

ОБНОВЛЕНИЕ - у меня была проблема снова, и на этот раз мне пришлось запустить graphiql в окне инкогнито. Кажется, кеширование в браузере может быть проблемой, даже если вы обновите.

ОБНОВЛЕНИЕ 2 - Вероятно, это проблема, относящаяся к Meteor, но мне нужно отредактировать файл JavaScript далее по цепочке для изменений в моих резольверах и схеме. Кажется, есть много головных болей типа кэширования, но я не знаю, является ли это Meteor, Apollo или GraphQL.

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