分页与连接 (Connections)
实现基于游标的分页,提高数据获取效率。 · 难度:入门 · +15XP
为什么需要分页?
当数据量很大时,一次性返回所有数据会导致性能问题。GraphQL 推荐使用连接(Connection)模式进行分页。
连接模式结构
type BookConnection {
edges: [BookEdge]
pageInfo: PageInfo!
}
type BookEdge {
node: Book!
cursor: String!
}
type PageInfo {
hasNextPage: Boolean!
endCursor: String
}查询示例
query {
books(first: 5, after: "cursor123") {
edges {
node {
title
}
cursor
}
pageInfo {
hasNextPage
endCursor
}
}
}任务
编写一个分页查询,获取前 10 本书,并判断是否还有下一页。