'data' graphql 的包装器对于响应来说已经过时了

is 'data' wrapper for graphql obsolete for responses

为什么 grapql 在响应中使用 'data' 包装器? here

要求:

{
  hero {
    name
  }
}

我们得到回复:

{
  "data": {
    "hero": {
      "name": "R2-D2"
    }
  }
}

但为什么不只是:

{
    "hero": {
      "name": "R2-D2"
    }
}

thad data-wrapper 是否已经过时(只是文档不是最新的)?

有一个 data 字段,因为另外还可以有一个 errors 字段。事实上,如果查询出错,可能只有errors字段,没有数据。除了这两个之外,还可以有第三个密钥 extensions - 你猜对了 - 自定义扩展。

有关详细信息,请阅读 GraphQL Draft Specification 的第 7.2 节。

结果分为3个对象:加载、错误和数据。

如果没有错误,其占位符将为空。

您可以在以下link中找到有关错误逻辑的更详细解释:http://spec.graphql.org/draft/#sec-Errors