Запрос 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.