GraphQL 错误中的“位置”指的是啥?

Posted

技术标签:

【中文标题】GraphQL 错误中的“位置”指的是啥?【英文标题】:What does 'locations' refer to in GraphQL errors?GraphQL 错误中的“位置”指的是什么? 【发布时间】:2019-07-28 13:13:41 【问题描述】:

我正在学习 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"
      ]
    
  ]

【问题讨论】:

【参考方案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 会在发送请求之前去除 cmets 并格式化您的请求,因此 locations 可能与您在 Playground UI 中看到的不匹配。

【讨论】:

以上是关于GraphQL 错误中的“位置”指的是啥?的主要内容,如果未能解决你的问题,请参考以下文章

就 HTML 文件路径位置而言,“./”(点斜杠)指的是啥?

url指的是啥?

统计学中的均值指的是啥

java数组中的索引指的是啥???

手机文件管理中的本地指的是啥

电梯旁路“独立的轿门关闭位置监控信号”是啥意思,指的是啥?