[SpringData] API + Paging

KMS·2022년 4월 27일
0

SpringData

목록 보기
9/9

API 요청이 들어올때, 요청의 파라미터 값으로 바로 페이징 하는 방법을 알아보도록 하겠습니다

Controller

@RestController
@RequiredArgsConstructor
public class MemberController {

    private final MemberDataRepository memberRepository;
    
    @GetMapping("/members")
    public Page<MemberDTO> list(@PageableDefault(size = 15) Pageable pageable) {
        Page<Member> findMembers = memberRepository.findControllerBy(pageable);
        return findMembers.map(m -> new MemberDTO(m));
    }

}

GET /members로 요청을 보낼때 파라미터 값으로, page, size, sort을 보내주면, 자동으로 Pageable의 조건으로 들어가서, 페이징 조건에 따라서 데이터를 반환 받을 수 있습니다.
1. /members?page=1 -> page = 1 값을 자동으로 pageable에 넣어서 파라미터로 넘겨줍니다 (이때, DEFAULT의 size 값은 20으로 넘어갑니다)
2. /members?page=1&size=5 -> page = 1, size = 5 값을 자동으로 pageable에 넣어서 파라미터로 넘겨줍니다.
3. /members?page=1&size=5&sort=id,desc -> page = 1, size = 5, id를 내림차순으로 정렬하는 값을 자동으로 pageable에 넣어서 파라미터로 넘겨줍니다.

  • @PageableDefault로 페이징할 조건들의 기본값들을 지정해 줄 수 있습니다. (page, size, sort)
profile
Student at Sejong University Department of Software

0개의 댓글