如何格式化要从graphiql客户端调用的graphQL查询?

时间:2020-04-24 02:05:23

标签: graphql apollo react-apollo

我是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 :(得分:0)

在代码中进行查询时,(通常)您无法对要作为参数传递给查询的值进行硬编码。因此,当您的代码正确执行时,您可以为查询指定一个名称,并声明一些将传递给查询的变量:

query getStudentDetails($id: ID!)

您可以执行以下两项操作之一来在Graphiql中传递参数:

1。

使用graphiql的“查询变量”功能(位于左下方)。

example usage of graphiql query variables

2。

直接 在模式需要的地方对变量进行硬编码:

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