Um servidor mock gerado a partir do seu spec OpenAPI
Aponte o Mockzilla para um documento OpenAPI e todos os caminhos dele respondem na hora. Os dados vêm dos seus próprios schemas, então respeitam tipos, formatos, enums e campos obrigatórios em vez de devolver o mesmo objeto de enchimento em todo lugar.
- Sem handler para escrever
- Validação de requisições
- Várias APIs, uma URL só
- Motor com licença MIT
{
"id": "cus_9Fh2",
"email": "dana@example.com",
"currency": "eur",
"balance": 4210,
"created": 1772841600,
"delinquent": false
}O que é um servidor mock de OpenAPI?
Um servidor que lê um documento OpenAPI e responde todos os caminhos dele com dados que batem com os schemas que você declarou. Sem handlers, sem fixtures e sem uma segunda descrição da API para manter em dia com a primeira.
O Mockzilla usa o spec como única entrada. Suba ele, ou adicione a GitHub Action ao repositório onde ele vive, e cada endpoint começa a responder em uma URL estável que o time inteiro pode chamar.
Esperando por uma API que você já sabe descrever
O spec costuma ser acertado bem antes de a API existir. Até lá o frontend fica travado, os testes de integração não têm contra o que rodar, e todo mundo escreve fixtures descartáveis que em uma semana já não batem com o contrato.
O mock é construído a partir do próprio spec, então ele não tem como divergir. Mude o spec e o mock muda junto. Se um endpoint precisa de uma resposta exata, escreva só ela na mão e o resto continua sendo gerado.
Gerado a partir dos seus schemas
Cada endpoint devolve dados que validam contra o próprio schema de resposta: tipos, formatos, enums, campos obrigatórios e objetos aninhados.
Validação de requisições
As requisições que chegam são conferidas contra o spec, então um body errado ou um parâmetro faltando falha no mock em vez de passar batido.
Várias APIs em um servidor
Cada spec vira um serviço com o próprio prefixo de URL, então a sua API e as de terceiros de que você depende respondem no mesmo host.
Perguntas
- Preciso escrever as respostas eu mesmo?
- Não. O spec é a entrada, e todos os caminhos dele respondem sem você escrever nada.
- Dá para sobrescrever um endpoint com uma resposta fixa?
- Dá. Coloque um arquivo JSON naquele caminho e ele responde exatamente com aquele body, enquanto o resto do spec continua gerando. O mesmo vale para caminhos que o seu spec nem descreve.
- E se um endpoint precisar de lógica de verdade?
- Aí entra o modo codegen. O Mockzilla gera handlers Go tipados a partir do seu spec, você escreve o comportamento que precisa e sobe o servidor compilado. Tudo o que você não encostou continua respondendo pelo spec.
- Os dados gerados são confiáveis?
- A geração de respostas roda continuamente contra 2.215 documentos OpenAPI públicos que cobrem 98.464 endpoints, e cada endpoint precisa produzir dados que validem contra o próprio schema.
Traga um spec. Leve um servidor mock.
Começar não custa nada. Infraestrutura dedicada quando precisar.