Pular para o conteúdo

Páginas e cursores

Como as operações de lista dividem os resultados em páginas e como ler a próxima.

Páginas com cursor

As operações de lista respondem com items e nextCursor. Para ler a próxima página, envie a mesma requisição novamente com cursor definido como o nextCursor recebido. Quando nextCursor é null, não há mais páginas.

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

Lendo todas as páginas

Mantenha os outros parâmetros iguais enquanto segue o cursor. Um cursor é opaco: não o construa nem o altere você mesmo, e não o guarde por muito tempo, porque a ordem pode mudar conforme o catálogo é atualizado.

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)

Tamanho da página

Quando uma operação aceita limit, sua página de referência mostra o valor padrão e o maior valor permitido. Pedir mais do que o maior valor retorna um erro 400 em vez de uma página menor.

O Explorar usa números de página

A busca facetada por trás da página Explorar conta os resultados em vez de seguir um cursor. Ela aceita page e responde com found, page e pageSize, até a página 100.

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