페이지와 커서
목록 작업이 결과를 페이지로 나누는 방식과 다음 페이지를 읽는 방법.
커서 페이지
목록 작업은 items와 nextCursor로 응답해요. 다음 페이지를 읽으려면 받은 nextCursor를 cursor에 넣어 같은 요청을 다시 보내세요. nextCursor가 null이면 더 이상 페이지가 없어요.
curl "https://api.nogitsu.com/v1/works?limit=3&cursor=eyJ2YWx1ZSI6MSwiaWQiOiIwMWEwY2IwYS0zN2MxLTc5NDYtYmUzOC1iZmM5ZjFhNWFmMGUifQ"모든 페이지 읽기
커서를 따라가는 동안에는 다른 매개변수를 그대로 두세요. 커서는 불투명한 값이에요. 직접 만들거나 바꾸지 말고, 카탈로그가 업데이트되면서 순서가 바뀔 수 있으니 오래 보관하지 마세요.
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페이지까지 제공해요.
curl "https://api.nogitsu.com/v1/search/works/explore?medium=anime&genres=fantasy&page=2"