본문 바로가기
JAVA

Spring Boot 전체 게시판 정렬 및 Pageable (paging)

by fouink 2022. 8. 31.

지난 포스팅

https://fouink.tistory.com/3

 

 

 - Controller

/**
 * 전체 게시판 응답 함수 (조회순 정렬)
 * @param pageable
 * @return
 */
@GetMapping("/api/board")
public ResponseEntity<?> getAllBoard(
        @PageableDefault(size = 10,sort = "viewCnt",direction = Sort.Direction.DESC) Pageable pageable) {

    Page<AllBoradResponseDTO> allBoradResponseDTOList = boardService.allBoard(pageable);

    return ResponseEntity.ok(allBoradResponseDTOList);
}

 

@PageableDefault에 size = 10 (디폴트가 10이라 10은 따로 안해도 됨) OrderBy는 BoardEntity 테이블의 속성 값인 viewCnt로 sort값을 부여한다.

 

 - Service

/**
 * 전체 게시판 응답 함수
 * @param pageable
 * @return
 */
@Override
public Page<AllBoradResponseDTO> allBoard(Pageable pageable) {

    Page<BoardEntity> boardEntity = boardRepository.findAll(pageable);

    Page<AllBoradResponseDTO> allBoradResponseDTO = boardEntity.map(
            board -> AllBoradResponseDTO.builder()
                    .board_id(board.getId())
                    .title(board.getTitle())
                    .viewCnt(board.getViewCnt())
                    .writer(board.getUserInfoEntity().getNickname())
                    .createdDate(board.getCreatedDate())
                    .build()
    );
    
    return allBoradResponseDTO;
}

 

지난번 포스팅에서 조금 수정을 한 결과이다

 

 

응답이 제대로 되는것을 확인 할 수 있다 :)

댓글