@GetMapping("api/posts") // 전체 조회
public List<BoardResponseDto> getBoard(Pageable pageable){
return boardService.getBoard(pageable);
}
controller에서 Pageable로 값을 받아준다 넘겨받을수 있는 값은 다음과 같다
page
: 페이지 번호
size
: 페이지당 개수
sort
: 정렬할 ID, (오름차순|내림차순)
작성하면 아래와 같다
http://localhost:8080/api/posts?page=0&size=5&sort=id,desc
@Transactional(readOnly = true)
public List<BoardResponseDto> getBoard(Pageable pageable){ // BoardResponseDto형식의 리스트로 리턴
Page<Board> boardPage = boardRepository.findAll(pageable);
List<Board> board = boardPage.getContent();
}
Controller에서 값을 넘겨받아 Page<Board>형태로 repository에서 찾은 값을
getContent()로 List<Board>로 변환해준다
@Repository
public interface BoardRepository extends JpaRepository<Board,Long> {
Page<Board> findAll(Pageable pageable);
}
findAll에 Pageable을 넣어주면 Page<Board>로 받을수밖에 없어서
Service에서 getContent로 List로 변환해주었다.
출력 시 List로 잘 출력되는 것을 확인 할 수 있다