Apollo Client剥离了响应对象中的其他结果

时间:2019-09-12 13:10:15

标签: graphql apollo react-apollo apollo-client

我们已经像这样实现了我们的graphql api response

{
  data:  {...},
  skip: 0,
  limit: 10,
  total: 100,
  hasMore: true
}

如果我通过graphiql查询我们的api,响应看起来像预期的那样。 但不幸的是,我们应用程序中的apollo客户端剥夺了除data之外的所有返回对象属性。

这是预期的行为吗? 如果是这样,我该如何更改它或以其他方式解决此问题。 我需要获取数据总量以相应地实现分页。

我知道有一种使用fetchMore的方法,但是它不会告诉我列表中所有条目的数量。

1 个答案:

答案 0 :(得分:1)

根据spec,仅需要三个顶级密钥-dataerrorsextensions。如果您包含其他密钥,则说明不合规格-我不希望任何客户端尝试读取它们。

最终,此信息应包含在您的架构中,并作为响应中data的一部分返回。如果出于其他原因(除了您可能在根级别拥有多个查询字段的事实),将其返回到其他任何地方(作为响应中的附加键,响应头等)是一个坏主意。只能传达有关其中一个字段的分页信息,目前尚不清楚该信息应用于哪个字段。如果您具有也可以分页的嵌套字段,则可以这样说。