Нумерация страниц в Spring Data Cassandra работает в режиме «только вперед», как работает интерфейс iterable
.
@Autowired
PersonRepository personrepo;
@GetMapping("/all/{page}")
public List<Person> getPaginated(@PathVariable Integer page) {
int currpage = 0, size = 2;
Slice<Person> slice = personrepo.findAll(CassandraPageRequest.first(size));
while(slice.hasNext() && currpage < page) {
slice = personrepo.findAll(slice.nextPageable());
currpage++;
}
return slice.getContent();
}
Если ваш репозиторий содержит:
public interface PersonRepo extends CrudRepository<Person, Integer> {
Slice<Person> findAll(Pageable pr);
}
Следовательно, вы продолжаете запрашивать результат, пока не будет достигнуто желаемое местоположение данных.