스프링 부트 하루만에 배우기
11.4. 책 서비스 클래스에 목록 메소드 추가하기
연서은
2024. 8. 5. 11:20
책 목록 메소드와 응답 클래스를 이용해서 책 목록을 반환하는 기능을 추가해 보겠습니다.
src/main/java > com.yse.dev.book.service > BookService.java
Copypublic List<BookListResponseDTO> bookList(String title, Integer page){
final int pageSize = 3;
List<Book> books;
if (page == null) {
page = 0;
}else {
page -= 1;
}
if (title == null) {
Pageable pageable = PageRequest.of(page, pageSize, Direction.DESC, "insertDateTime");
books = this.bookRepository.findAll(pageable).toList();
}
else {
Pageable pageable = PageRequest.of(page, pageSize);
Sort sort = Sort.by(Order.desc("insertDateTime"));
pageable.getSort().and(sort);
books = this.bookRepository.findByTitleContains(title, pageable);
}
return books.stream().map(book ->
new BookListResponseDTO(book.getBookId(), book.getTitle())
).collect(Collectors.toList());
}