本文へスキップ

ページとカーソル

リスト操作が結果をページに分ける仕組みと、次のページの読み取り方。

カーソルによるページ

リスト操作はitemsとnextCursorを返します。次のページを読み取るには、受け取ったnextCursorをcursorに設定して同じリクエストを再送してください。nextCursorがnullの場合、それ以上のページはありません。

Shell
curl "https://api.nogitsu.com/v1/works?limit=3&cursor=eyJ2YWx1ZSI6MSwiaWQiOiIwMWEwY2IwYS0zN2MxLTc5NDYtYmUzOC1iZmM5ZjFhNWFmMGUifQ"

すべてのページを読み取る

カーソルをたどる間は、他のパラメーターを変えないでください。カーソルは不透明な値です。自分で組み立てたり変更したりせず、長期間保存もしないでください。カタログの更新に伴って順序が変わることがあります。

JavaScript
let cursor = null
do {
  const url = new URL('https://api.nogitsu.com/v1/works')
  url.searchParams.set('medium', 'anime')
  url.searchParams.set('limit', '50')
  if (cursor) url.searchParams.set('cursor', cursor)
  const page = await fetch(url).then((response) => response.json())
  for (const work of page.items) console.log(work.primaryTitle)
  cursor = page.nextCursor
} while (cursor)

ページサイズ

limitを受け付ける操作では、そのリファレンスページに既定値と最大値が記載されています。最大値を超えて要求すると、短いページではなく400エラーが返ります。

「探す」はページ番号を使用

「探す」ページを支えるファセット検索は、カーソルをたどる代わりに結果を数えます。pageを受け取り、found、page、pageSizeを返します。ページ100まで取得できます。

Shell
curl "https://api.nogitsu.com/v1/search/works/explore?medium=anime&genres=fantasy&page=2"