我们已经像这样实现了我们的 graphql api响应。
{
data: {...},
skip: 0,
limit: 10,
total: 100,
hasMore: true
}
如果我通过 graphiql 查询我们的 api,响应看起来像预期的那样。 但不幸的是,我们应用程序中的 apollo 客户端从返回对象中删除了除data
之外的所有属性。
这是预期行为吗? 如果是这样,我该如何更改它或以不同的方式解决此问题。 我需要获取数据总量以相应地实现分页。
我知道有一种方法可以fetchMore
但它不会告诉我列表中条目的全部数量。
根据规范,预计只有三个顶级键 -data
、errors
和extensions
键。如果您包含其他密钥,您将偏离规格 - 我不希望任何客户端尝试读取它们。
归根结底,此信息应包含在架构中,并作为响应中data
的一部分返回。将其返回其他任何地方(作为响应中的附加键,作为响应标头等(是一个坏主意,如果没有其他原因,只是在根级别可以有多个查询字段,在这种情况下,您只能传达有关其中一个字段的分页信息,并且不清楚信息应用于哪个字段。如果您有也可以分页的嵌套字段,也可以这样说。