我正在研究GraphQL节点/ Prisma服务器教程,由于代码中的错误而遇到错误。我已经解决了该错误,但是我想了解该错误消息,特别是locations
指的是什么?也就是说,我在第2行第3列有一个location
,但是第2行第3列是什么?我的代码中的相关方法(在这种情况下为signup
)?我的突变?
// error message
{
"data": {
"signup": null
},
"errors": [
{
"message": "secretOrPrivateKey must have a value",
"locations": [
{
"line": 2,
"column": 3
}
],
"path": [
"signup"
]
}
]
}
答案 0 :(得分:1)
就像path
一样,locations
指的是GraphQL文档中发生错误的地方。您可以使用SWAPI GraphQL endpoint之类的东西自己查看。我们可以通过请求一个不存在的字段来触发验证错误:
{
allFilmz
}
产生的错误具有以下locations
数组:
[
{
"line": 2,
"column": 3
}
]
这是因为有问题的字段位于第2行,从第3列开始。如果我们改为发送:
{allFilmz}
我们得到:
[
{
"line": 1,
"column": 2
}
]
通常,错误的path
比locations
更具信息性,但是如果文档中存在语法错误,则path
将不存在-在这种情况下,locations
是唯一可用来查找语法错误发生位置的东西。
使用GraphQL Playground时的警告语-与GraphiQL不同,Playground会在发送请求之前删除注释并格式化您的请求,因此locations
可能与您在Playground UI中看到的不匹配。