Мне нравится подход Relay для
пагинации. Собственно толком ничем не отличается и от других условий выборки, примерно так:
query {
users(first: 10, order: "id") {
totalCount,
edges {
cursor,
node {
id,
name,
lastAt,
avatar {
original,
preview
}
}
},
pageInfo {
startCursor,
endCursor,
hasNextPage,
hasPreviousPage
}
}
}
В этом примере получаем первые 10 записей с сортировкой по id. PageInfo хранит в себе информацию есть ли следующая/предыдущая страница и курсоры которые которые передаются в параметры before или after.