Почему я получил ошибку: не удается запросить поле xx по типу «Запрос»? - PullRequest
0 голосов
/ 20 мая 2018

Несмотря на то, что я скопировал и вставил запрос graphQL из инструмента GraphiQL после того, как успешно проверил его на GraphiQL, запрос вернулся с ошибкой, когда я попробовал его в клиенте Apollo в приложенииactJS:

[GraphQL error]: Message: Cannot query field "allStudents" on type "Query"., Location: [object Object], Path: undefined

Вот моя реализация:

const link = createHttpLink({
  uri: 'http://localhost:8000/graphql',
  fetchOptions: { method: "POST" }
});

const client = new ApolloClient({
  link: link 
});

const GET_STUDENTS = gql`
query getStudents($schoolID: Int!){
  allStudents(schoolId: $schoolID){
    pickUpLat
    pickUpLng
  }
}
`;

client
  .query({
    query: GET_STUDENTS,
    variables: { schoolID: 1 }
  })
  .then(result => console.log(result));

Что может быть не так?Вот правильный ответ, который я ожидал:

{
  "data": {
    "allStudents": [
      {
        "pickUpLat": 31.9752942479727,
        "pickUpLng": 35.8438429235775
      },
      {
        "pickUpLat": 31.9754545979993,
        "pickUpLng": 35.8437478537235
      }
    ]
  }
}

РЕДАКТИРОВАТЬ Я получаю ожидаемые результаты, используя GraphiQL: enter image description here

EDIT2

Я пытался сравнить полезную нагрузку между моим запросом и запросом GraphiQL:

Полезная нагрузка моего запроса: (он имеет __typename, что я не знаю почему)

{"operationName":"getStudents","variables":{"schoolID":1},"query":"query getStudents($schoolID: Int) {\n  allStudents(schoolId: $schoolID) {\n    pickUpLat\n    pickUpLng\n    __typename\n  }\n}\n"}

Полезная нагрузка GraphiQL-запроса:

{"query":"query getStudents($schoolID: Int!){\n  allStudents(schoolId: $schoolID){\n    pickUpLat\n    pickUpLng\n  }\n}","variables":{"schoolID":1},"operationName":"getStudents"}

Итак, они практически идентичны. Есть идеи?

...