Witam. Mam zastosowaną paginację w springu. Mam taki o to endpoint który zwraca dwa obiekty na stronę. Teraz w jaki sposób na frontendzie mam wiedzieć ile w sumie jest tych stron? Myślałem żeby stworzyć specjalny endpoint który by to zwracał ale w jaki sposób? Pobierając wszystkie obiekty z bazy danych i je zliczając dzieląc na liczbe obiektów na stronę? To wtedy ta paginacja by trochę sensu nie miała bo przy większej liczbie obiektów nie było by to optymalne. Ogólnie to chcę zrobić coś na wzór polskiego allegro etc.
@GetMapping
public List<BookDto> getBooks(@RequestParam(defaultValue = "1") int page) {
return bookService.getAllBooks(page);
}
public List<BookDto> getAllBooks(int page){
Page<Book> pageBooks = bookRepository.findAll(PageRequest.of(page, BookController.ELEMENTS_FOR_PAGE));
return pageBooks.getContent()
.stream()
.map(BookMapper::entityToDto)
.collect(Collectors.toList());
}
scibi92