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 是不是内置了分页功能?的主要内容,如果未能解决你的问题,请参考以下文章
使用 Mongoose 和 graphql-yoga 实现分页
我们如何从 GraphQL 的 RequestContextHolder 获取 GraphQL 的 HttpServletRequest(DefaultGlobalContext)(使用 graphq