'locations' 在 GraphQL 错误中指的是什么?
What does 'locations' refer to in GraphQL errors?
我正在学习 GraphQL Node/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"
]
}
]
}
就像 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.
我正在学习 GraphQL Node/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"
]
}
]
}
就像 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.