Olá a todos, tenho uma duvida sobre como manter a utilização da função de paginação agora que estou utilizando os services para administrar as funções da Controller.
Estou refatorando algumas funções de um projeto antigo que estava utilizando MVC e agora to passando para arquitetura limpa e DDD e as funções de listar era tudo direto no controller. agora utilizando a service estou enfrentando duvidas sobre como manter a paginação. No momento está assim:
@GetMapping
public ResponseEntity<Page<DadosDetalhamentoUsuario>> listar(@PageableDefault(size = 10, sort = {"nome"}) Pageable paginacao ) {
var page = usuarioRepository.findAllByAtivoTrue(paginacao).map(DadosDetalhamentoUsuario::new);
return ResponseEntity.ok(page);
}
em uma outra classe do meu projeto que eu ja fiz uma pŕevia da refatoração, a Controller esta da seguinte forma:
@GetMapping
public ResponseEntity<List<DadosCadastroLivro>> listar(@PageableDefault(size = 10, sort = {"titulo"}) Pageable paginacao ) {
var page = livroService.listarTodos(paginacao);
return ResponseEntity.ok(page);
}
e a service referente esta assim:
public List<DadosCadastroLivro> listarTodos(Pageable paginacao) {
Page<Livro> livros = repository.findAllByAtivoTrueAndDisponivelTrue(paginacao);
return livros.stream()
.map(this::converteDados)
.collect(Collectors.toList());
}
mas como pode ver esta utilizando List e nao Page, pois teve uma serie de erros que apareceram. alguem pode me ajudar a encontrar uma solução para isso?