graphql - GraphQL 错误中的 'locations' 指的是什么?

标签 graphql prisma-graphql

我正在学习 GraphQL 节点/Prisma 服务器教程,但由于代码中的某些问题而遇到错误。我已经解决了错误,但我想了解错误消息,特别是 locations 是什么意思指的是?也就是说,我有一个 location第 2 行第 3 列,但第 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 - GraphQL 错误中的 'locations' 指的是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55030434/

相关文章:

java - GraphQL 在突变函数上访问 HttpRequest

node.js - makeExecutableSchema 语法错误 : Unexpected Name "User" (GraphQL)

graphql - 我应该一遍又一遍地重新输入我的字段,还是我认为这是错误的?

javascript - 如何修复数据类型关系导致的 'Variable "$_v0_data“得到无效值” - Mutation Resolver

reactjs - 在/秒%20post 还没有页面

graphql - 如何对express-graphql突变进行单元测试?

mongodb - 如何使用 MongoDB 在 Prisma ORM 中创建类别及其子类别

graphql - 从 GraphQL 到 Teradata 的数据库连接器

graphql - 如何在 NextJS 中使用 Prisma 创建后重新获取数据?

error-handling - 仅返回GraphQL中的子解析器错误