뉴스피드 과제 - 스프링 코틀린 페이지네이션

박미소·2024년 1월 15일
0

코틀린

목록 보기
26/44

게시판 (페이지네이션)

컨트롤러에서 전체 데이터의 개수를 세는 count 쿼리가 포함된 Page 객체를 반환타입으로 받았다.




서비스 구현에서 Pageable 인터페이스를 상속받아 Pageable의 구현체 PageRequest 생성자의 파라미터에 현재페이지, 조회할 데이터 수, 정렬 정보를 넣었다.

Offset 방식을 사용해 limit 예약어를 통하여 현재 페이지에만 5개의 데이터가 조회 되도록 했다. 또 최근 게시글을 발행한 아이디 순서로 내림차순 정렬했다.

컨트롤러에서 반환값이 BoardListResponse 이기 때문에 map을 사용해서 페이징된 Board 객체들을 리스트화 했다.




레포지토리에 findAllByOrderByCreatedAtDesc() 메서드를 생성하고 Pageable 인터페이스를 상속받은 변수 pageable을 파라미터로 전달하고 요청한 페이지의 정보를 반환받을 수 있도록 Board를 Page객체로 만들어 반환했다.





pageable 파라미터 정보 없이 요청한 경우

0개의 댓글