Mockar uma resposta JSON paginada de API

Um mock GET que retorna uma página de três registros falsos ao lado de page, per_page, total e next.

Este template retorna uma página de uma coleção JSON paginada — três registros falsos junto com page, per_page, total e next — para que você possa construir renderização de lista, scroll infinito ou um cliente de paginação antes que o endpoint real exista. Os registros são gerados novamente a cada chamada, o que o torna um bom teste de código que não deve assumir uma ordenação estável.

Substitui um endpoint de API de terceiros.

Payload de resposta

{"data":[{"id":"{{faker.uuid}}","name":"{{faker.name}}","email":"{{faker.email}}"},{"id":"{{faker.uuid}}","name":"{{faker.name}}","email":"{{faker.email}}"},{"id":"{{faker.uuid}}","name":"{{faker.name}}","email":"{{faker.email}}"}],"page":1,"per_page":3,"total":42,"next":"{{mock.url}}?page=2"}

Campos que valem a pena conhecer

Campo O que significa
data Um array de registros falsos, três por chamada através de tokens {{faker.*}}.
page O número da página atual, fixado em 1.
per_page O tamanho da página, fixado em 3.
total A contagem total de registros em todas as páginas, fixado em 42.
next A URL para a próxima página, construída a partir do token {{mock.url}} para que aponte para este mock.

Criar o mock

curl -X POST https://quickmock.dev/api/mocks \
  -H 'Content-Type: application/json' \
  -d '{
  "method": "GET",
  "response_status": 200,
  "content_type": "application/json",
  "response_body": "{\"data\":[{\"id\":\"{{faker.uuid}}\",\"name\":\"{{faker.name}}\",\"email\":\"{{faker.email}}\"},{\"id\":\"{{faker.uuid}}\",\"name\":\"{{faker.name}}\",\"email\":\"{{faker.email}}\"},{\"id\":\"{{faker.uuid}}\",\"name\":\"{{faker.name}}\",\"email\":\"{{faker.email}}\"}],\"page\":1,\"per_page\":3,\"total\":42,\"next\":\"{{mock.url}}?page=2\"}"
}'

Chame-o

curl https://quickmock.dev/m/<slug>

O que você obtém

GET /m/<slug> -> 200 a paginated list of 3 fake records
page/per_page/total/next describe the rest of the collection

Como isso difere do original

Os três registros são aleatórios e gerados novamente a cada chamada em vez de vir de um conjunto de dados estável, e next aponta de volta para este mesmo mock em vez de uma segunda página real.

Fontes

FAQ

O link next realmente funciona?
É seguível: next é construído a partir do token {{mock.url}}, então ele resolve para o endereço do próprio mock. Segui-lo retorna a mesma página novamente em vez da página dois — veja a próxima pergunta para saber como encadear uma segunda página real.
Como eu faço mock de uma segunda página?
Crie um segundo mock com page definido como 2 e seu próprio valor next, depois aponte o next do primeiro mock para ele. Dois mocks encadeados são suficientes para testar se seu cliente para no final em vez de entrar em loop.
Por que os registros mudam entre as chamadas?
Eles são gerados de forma nova com tokens faker em cada requisição. Isso é intencional: um cliente que usa o índice do array como chave para os itens da lista em vez de id quebrará visivelmente, que é exatamente o bug que vale a pena capturar cedo.

Pronto para usar?

Abrir no construtor de mocks para ajustar primeiro

Combina bem com este guia: Retornar dados falsos realistas

Modelos relacionados

← Todos os modelos

Última atualização: 2026-10-17