Develop

커서 페이지네이션 구현

너드나무 2022. 5. 9. 13:51
반응형

들어가며...

모바일 환경에서 적합한 스크롤 위주의 페이지 호출로 마지막 idx를 기준으로 다음 리스트를 호출하는 커서 페이지네이션을 개발한다.

준비사항

  1. 리스트 데이터를 호출하는 API 명세
    1. Endpoint View를 개발하는 담당자와 협의 필요
  2. 마지막 idx 정보

필요 사항 정리

  1. 첫 번째 페이지 호출

최신 기준 LIMIT 출력

  1. N 번째 페이지 호출

마지막 idx - 1 기준 LIMIT 출력

코드 반영

if last_idx == 0:
    statement = select(
        Table.table_idx,
    ).order_by(
        Table.table_idx.desc()
    ).limit(20)
else:
    statement = select(
        Table.table_idx,
    ).where(
        Table.table_idx < last_idx
    ).order_by(
        Table.table_idx.desc()
    ).limit(20)
  1. Endpoint에서 0 전달 시 첫 페이지 호출
  2. Endpoint에서 마지막 idx 전달 시 다음 페이지 호출
728x90
반응형