Use JSON Schema para documentar contratos de API, validar payloads JSON e gerar dados mock realistas para testes e demos.
Etapa 1 – Comece com um exemplo real
- Cole uma resposta de API real, payload de requisição ou JSON de configuração primeiro no formatador.
- Mantenha um exemplo canônico de JSON por endpoint para evitar drift de schema.
Etapa 2 – Gere um schema base
- Use o Schema Generator para inferir tipos, campos obrigatórios e estrutura aninhada.
- Refine descrições, formatos e constraints (min/max, patterns) para uso em produção.
Etapa 3 – Valide JSON contra o schema
- Cole seu schema e payloads reais no Schema Validator.
- Corrija erros atualizando o JSON de exemplo (bugs) ou o schema (mudanças no contrato).
Etapa 4 – Gere dados mock para testes
- Abra o Mock Generator para criar payloads de exemplo realistas que correspondam ao seu schema.
- Use seed + batch size para tornar os dados de teste reproduzíveis e escaláveis.
Etapa 5 – Compartilhe e reutilize
- Salve schemas no controle de versão e vincule-os na documentação da sua API.
- Gere código tipado (TypeScript/Java/etc.) a partir de exemplos JSON estáveis.
Observação importante sobre recursos do JSON Schema
- Alguns schemas dependem de keywords avançadas como
$ref, anyOf, oneOf, e allOf. - Validadores variam no suporte a drafts e keywords; use um validador completo de JSON Schema no CI para conformidade mais rigorosa.
Exemplo: JSON → JSON Schema (simplificado)
// JSON input
{
"id": 1,
"name": "Maeve Winters",
"active": true,
"tags": ["developer", "backend"]
}
// Generated schema (example)
{
"type": "object",
"properties": {
"id": { "type": "integer" },
"name": { "type": "string" },
"active": { "type": "boolean" },
"tags": {
"type": "array",
"items": { "type": "string" }
}
},
"required": ["id", "name", "active", "tags"]
}