商品一覧を一度に全部返すのではなく、1ページに10件ずつ区切って返すAPIを 作ります。呼び出す側が何ページ目をくれと言ったら、そのページの商品10件と ページ情報を一緒に返します。ページを指定しなければ1ページとして扱います。 app/api/products/route.ts のGETハンドラを完成させてください。 Note: ?page=N で要求します。応答JSONに page(現在のページ)、 totalPages(全ページ数)、total(全商品数)、items(このページの商品)を入れます。
Next.js の GET Route Handler で、商品一覧を一度に全部ではなく1ページ10件ずつ 返すAPIを完成させる問題です。?page=N の要求を読み取り、そのページの商品とともに 現在のページ・全ページ数・全件数・このページの項目を JSON で返し、ページが無いときは 1ページとして扱う既定の動作までを扱います。
ページネーションは大きな一覧を一度に全部送るのではなく、1ページ分ずつに区切って 応答する方式です。応答には現在のページだけでなく、全体の件数や全ページ数といった メタ情報も含め、呼び出す側が次・前のページへ移動できるようにします。この問題では ?page=N の要求に対し、そのページの項目と現在のページ・全ページ数・全件数を返し、 page が無いときは1ページとして扱う既定の動作まで完成させ、一般的な ?page=N 要求が 正しい項目とメタ情報を返すかを実際のコードで確認します。