Paginiation은 일정한 개수만큼 자원을 묶어 한 번에 보내는 방법을 뜻합니다.
일반적으로 적은 양의 자원이 이동할 때는 서버와 클라이언트 모두 부담을 받지 않습니다.
그러나 이동하는 자원의 양이 많아질 수록 한 번에 모든 자원을 보내는 것이 어려워지기 때문에,
한 번의 통신에서 보내는 자원의 양을 정한 뒤 조금씩 나눠 보내는 것이 더 효율적입니다.
Pagination이 적용된 API를 사용하면 응답과 요청에서 추가적인 정보를 포함할 수 있습니다.
응답에서는 찾고자 하는 페이지의 정보나 한 페이지에 담을 자원을 양 등을 함께 넘겨줄 수 있으며,
요청에서는 현재 페이지 번호, 전체 페이지 개수 등의 정보를 함께 보내줍니다.
// 2번 페이지, 한 페이지 당 20개 씩
GET /members?page=2&size=20
{
"count":52,
"size":10,
"currentPage":1, // 현재 페이지 번호
"totalPage":6, // 총 페이지 개수
"prev":null, // 이전 페이지
"next":/members?page=2, // 다음 페이지
"results":[
"..."
]
}728x90
'Backend' 카테고리의 다른 글
| [Docker] Docker에 대해서 (0) | 2025.07.08 |
|---|---|
| [Backend][Render] Render에 대해서 (0) | 2024.08.28 |
| [API] API versioning (0) | 2024.08.03 |
| [API] API 캐싱(caching) (0) | 2024.08.03 |
| [API] REST - 하이퍼미디어를 사용한 상태 표현(HATEOAS) (0) | 2024.08.03 |