Как отформатировать запрос graphQL, который будет вызываться из клиента graphiql? - PullRequest
0 голосов
/ 24 апреля 2020

Я новичок в GraphQL и играю с примером проекта React-GraphQL-Apollo. Когда я пытаюсь выполнить запрос:

{ 
  getStudentDetails(id: 12763454) {
        node(id:$id) {
            ... on Class_Student {
                id
                name
            }
        }
 }

на вкладке GraphiQL, он выдает ошибки InvalidSyntax. У меня есть следующее в моем коде. Не уверен, что мне здесь не хватает. Любая помощь приветствуется!

const querySchema = gql`
    query getStudentDetails($id: ID!) {
        node(id:$id) {
            ... on Class_Student {
                id
                name
            }
        }
    }
`;

const query = graphql(querySchema, {
    options: (props) => ({
        variables: {
            id: props.selectedStudentId
        },
        errorPolicy: "all"
    })
});

1 Ответ

0 голосов
/ 24 апреля 2020

При выполнении запросов в коде вы (как правило) не можете жестко закодировать значения, которые вы хотите передать в запрос в качестве аргументов. Итак, поскольку ваш код работает правильно, вы даете запросу имя и объявляете некоторые переменные, которые будут переданы в него:

query getStudentDetails($id: ID!)

Вы можете сделать одну из двух вещей, чтобы передать свои аргументы в Graphiql:

1.

Используйте функцию Graphiql «переменные запроса» (расположена слева внизу).

example usage of graphiql query variables

2 .

Жесткий код ваших переменных напрямую там, где схема ожидает их:

    query {
        node(id: 12763454) {
            ... on Class_Student {
                id
                name
            }
        }
    }
...