如何修复graphql中的“语法错误:预期名称,找到字符串\“ query \””

时间:2019-08-27 19:17:34

标签: graphql postman

我正在尝试通过使用邮递员向服务器发送graphql查询来测试我构建的graphql服务器。当我使用原始单选按钮时,它可以工作,但是当我尝试使用GraphQL单选按钮时,它返回“消息”:“语法错误:预期名称,找到字符串\“ query \”“。

我试图更改语法:主要添加或删除花括号,但什么也没发生。

我以原始模式发送的查询(有效):

{
    person(id:"123456789") {
        personal_info {
            address
        }
    }
} 

我以GraphQL模式发送的查询:

查询:

query getPerson ($id: String){
    person(id: $id){
        personal_info {
            address
        }
    }
}

GRAPHQL变量:

{
    "id": "123456789"
}

我希望获得所需的数据,但会收到错误消息:

{
    "errors": [
        {
            "message": "Syntax Error: Expected Name, found String \"query\"",
            "locations": [
                {
                    "line": 1,
                    "column": 2
                }
            ]
        }
    ]
}

1 个答案:

答案 0 :(得分:0)

我有同样的问题。在研究过程中,我在statckoverflow上找到了下一个答案,谢谢@gbenga_ps。

通过在邮递员请求中添加正确的标头来解决: enter image description here

请求正文应类似于下一个:

{
    courses {
        title
    }
}

enter image description here

如果设置了错误的内容类型,则会发生类似下一个错误:

{
    "errors": [
        {
            "message": "Syntax Error: Expected Name, found String \"query\"",
            "locations": [
                {
                    "line": 1,
                    "column": 2
                }
            ]
        }
    ]
}

enter image description here