Я использовал CassandraRepository, но я не мог разбить на страницы свои данные.
Репозиторий:
@Repository
public interface AccountDaoInter extends CassandraRepository<Account,String> {
}
В CassandraRepository существует метод findAll(Pageable pageable);
. (тип возврата Slice <>)
Я использую CassandraPageRequest для создания Pageable.
Служба:
@Override
public List<AccountDTO> findAll(Integer page){
Slice<Account> accounts = accountDaoInter.findAll(CassandraPageRequest.of(page,10));
return accounts
.stream()
.map(account -> modelMapper.map(account,AccountDTO.class)).collect(Collectors.toList());
}
Контроллер:
@GetMapping
public ResponseEntity<List<AccountDTO>> findAll(@RequestParam(name = "page") Integer p){
return ResponseEntity.ok(accountServiceInter.findAll(--p));
}
Когда значение страницы равно 1, результат в порядке.
Если значение страницы равно 2 и выше, возникает внутренняя ошибка сервера.
Ошибка:
"Cannot create a Cassandra page request for an indexed page other than the first page (0)."
![Error picture](https://i.stack.imgur.com/X4iOG.png)
Проект