아카이브

[API] Pagination 본문

Backend

[API] Pagination

Rayi 2024. 8. 3. 17:21

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
Comments