더북(TheBook)

15.10 게시글 페이지네이션 기능 구현하기

현재는 게시글 목록을 조회할 때 모든 항목을 한꺼번에 조회하고 있습니다. 만약 항목의 수가 엄청 많아진다면 데이터를 한꺼번에 불러오는 것은 비효율적입니다. 사용자가 실제로 보고 있는 부분만 끊어서 불러오는 것이 좋은데, 이 경우 페이지네이션 기능을 도입해야 합니다.

현재 게시글 목록 API는 게시글을 작성한 순서대로 불러오고 있는데요. 우선 이를 역순으로 불러오겠습니다. 즉, 최근 작성한 게시글이 먼저 보이는 것이죠.

Strapi의 목록 API는 쿼리 파라미터를 통한 정렬 기능을 제공합니다. 목록 API를 사용할 때 다음 쿼리 파라미터를 추가하면 데이터를 역순으로 조회합니다.

GET http://localhost:1337/articles?_sort=id:DESC

여기에 한 번 조회할 때 불러오는 수를 제한하려면 _limit 쿼리 파라미터를 사용하면 됩니다.

GET http://localhost:1337/articles?_sort=id:DESC&_limit=10

이렇게 하면 한 번 불러올 때 10개씩만 불러옵니다. 10개 항목을 불러오고, 그다음 10개 항목을 불러오려면 다음과 같이 _start 쿼리 파라미터를 사용하면 됩니다. 이 쿼리 파라미터를 사용하면 n개의 항목을 생략할 수 있습니다.

GET http://localhost:1337/articles?_sort=id:DESC&_limit=10&_start=10
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.