[스프링 부트] 페이지네이션 정보 응답 받기

2024. 7. 1. 20:22·Springboot

페이지네이션 

 

@GetMapping("/all")
    public Api<List<PostEntity>> list(
        @PageableDefault(page =0, size = 10, sort = "id", direction = Sort.Direction.DESC) // 페이지처리 위해서
        Pageable pageable
    ){
        return postService.all(pageable);
    }

 

 

public Api<List<PostEntity>> all(Pageable pageable) { // 페이지네이션 정보를 전달
        var list= postRepository.findAll(pageable); // Page<PostEntity>반환, 페이지네이션된 결과 반환

        var pagination= Pagination.builder()
                .page(list.getNumber()) //현재 몇번째 페이지
                .size(list.getSize()) // 한 번에 몇개의 글을 보여줄 것인지
                .totalElements(list.getTotalElements()) // 총 요소 수
                .totalPage(list.getTotalPages()) // 총 페이지 개수가 몇개인지
                .currentElements(list.getNumberOfElements()) // 현재 페이지의 요소 수
                .build()
                ;

        var response= Api.<List<PostEntity>>builder() // Api는 Api 응답을 나타내는 커스텀 객체
                .body(list.toList())  //페이지네이션된 결과를 리스트로 변환
                .pagination(pagination) // 페이지네이션 정보 설정
                .build();

        return response;
    }

'Springboot' 카테고리의 다른 글

[스프링 부트] Filter  (0) 2024.07.04
[스프링 부트] 인터셉터  (0) 2024.07.04
[스프링 부트] Entity 매핑 무한루프  (0) 2024.07.01
[스프링 부트] DispatcherSevlet의 역할  (0) 2024.06.29
[스프링 부트] Object Mapper  (0) 2024.06.25
'Springboot' 카테고리의 다른 글
  • [스프링 부트] Filter
  • [스프링 부트] 인터셉터
  • [스프링 부트] Entity 매핑 무한루프
  • [스프링 부트] DispatcherSevlet의 역할
코딩 못하는 감자
코딩 못하는 감자
  • 코딩 못하는 감자
    코딩 못하는 감자의 기록
    코딩 못하는 감자
  • 전체
    오늘
    어제
    • 분류 전체보기 (91)
      • Kubernetes (10)
      • Github Action (1)
      • Docker, Container (3)
      • Springboot (26)
      • Baekjoon (4)
      • 명품 운영체제 (9)
      • 데이터베이스 (2)
      • JSP (3)
      • 안드로이드프로그래밍 (1)
      • 미니프로젝트 (1)
      • 용어정리 (0)
      • 소프트웨어공학 (3)
      • 운영체제 (2)
      • Flutter (0)
      • Git (1)
      • HTTP (0)
      • RAG (1)
      • Database (2)
      • FastAPI (1)
      • Elasticsearch (7)
      • Redis (0)
      • JPA (5)
      • Linux (1)
      • MCP (1)
  • 블로그 메뉴

    • 홈
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    응답 로그
    elasticsearch ngram
    fuzziness
    elasticsearch analyzer
    엘라스틱서치 인덱스 복사
    엘라스틱서치 인덱스
    elasticsearch 커스텀분석기
    Dockerfile
    SpringBoot
    mcp #model context protocol #claude desktop #mcp claude연동 #claude 파일 시스템 연동
  • hELLO· Designed By정상우.v4.10.3
코딩 못하는 감자
[스프링 부트] 페이지네이션 정보 응답 받기
상단으로

티스토리툴바