GraphQL 是不是内置了分页功能?

Posted

技术标签:

【中文标题】GraphQL 是不是内置了分页功能?【英文标题】:Does GraphQL has built in pagination?GraphQL 是否内置了分页功能? 【发布时间】:2019-06-16 02:27:18 【问题描述】:

GraphQL 是否提供内置分页功能? 比如拿前 10 件收藏品,拿掉 2 件等?

我在这里读过:https://graphql.org/learn/pagination/

在其他网站上,我只看到了那些我们必须自己实现这些参数的示例。

编辑:我的问题不是如何GraphQL: How to implement pagination with graphQL-java?,而是问题 - 是否有内置选项。

【问题讨论】:

不,没有分页构建,你必须自己构建。 Apollo Client 有一个关于分页的部分,你可以参考apollographql.com/docs/react/features/pagination.html。它可以是基于偏移量、基于光标等的。 GraphQL: How to implement pagination with graphQL-java?的可能重复 @xwlee 谢谢 - 所以我需要实现它 - 谢谢 如何分页取决于所使用的存储空间。内置分页意味着需要特定的存储类型,这将违背 GraphQL 的普遍适用性并且通常是一个糟糕的主意。 【参考方案1】:

它不在构建中,您需要将输入参数添加到您的 api 端点中,然后使用它们来实现分页。 ex- sequelize 按原样接受这些参数并生成查询。

yourAPI(filters:yourInputFilters,limit:Int,offset:Int)

带有续集的示例:

model.findAndCountAll(
            where: filters,
            limit: limit,
            offset: offset
)

【讨论】:

以上是关于GraphQL 是不是内置了分页功能?的主要内容,如果未能解决你的问题,请参考以下文章

如何检查是不是在laravel中使用了分页

使用 Mongoose 和 graphql-yoga 实现分页

我们如何从 GraphQL 的 RequestContextHolder 获取 GraphQL 的 HttpServletRequest(DefaultGlobalContext)(使用 graphq

无法使用 graphq-request 表示嵌套对象输入类型的数组

11.ThinkPHP分页

11.ThinkPHP分页