Saltar al contenido

Páginas y cursores

Cómo las operaciones de lista dividen los resultados en páginas y cómo leer la siguiente.

Páginas con cursor

Las operaciones de lista responden con items y nextCursor. Para leer la página siguiente, vuelve a enviar la misma solicitud con cursor igual al nextCursor que recibiste. Cuando nextCursor es null, no hay más páginas.

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

Leer todas las páginas

Mantén iguales los demás parámetros mientras sigues el cursor. Un cursor es opaco: no lo construyas ni lo modifiques tú mismo, y no lo guardes mucho tiempo, porque el orden puede cambiar a medida que se actualiza el catálogo.

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)

Tamaño de página

Cuando una operación acepta limit, su página de referencia muestra el valor predeterminado y el mayor valor permitido. Pedir más que el mayor valor devuelve un error 400 en lugar de una página más corta.

Explorar usa números de página

La búsqueda por facetas de la página Explorar cuenta los resultados en lugar de seguir un cursor. Acepta page y responde con found, page y pageSize, hasta la página 100.

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