Lição 8
Noções de JSON Schema
Descrever e validar forma do documento com tipos, campos obrigatórios e restrições.
JSON Schema é um vocabulário para anotar documentos JSON com regras: quais propriedades existem, seus tipos e restrições de valor. Equipes usam para validar payloads de API, arquivos de config e dados gerados.
Um schema mínimo
Este schema descreve um objeto com string obrigatória name e número opcional age:
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"name": { "type": "string" },
"age": { "type": "integer", "minimum": 0 }
},
"required": ["name"],
"additionalProperties": false
}
Instância válida:
{ "name": "Ada", "age": 30 }
Inválido: name ausente, tipo errado ou chaves desconhecidas extras quando additionalProperties é false.
Keywords principais
| Keyword | Propósito |
|---|---|
type | string, number, integer, boolean, array, object, null |
properties | Forma dos campos do objeto |
required | Nomes de propriedades obrigatórias |
items | Schema para cada elemento do array |
enum | Valores literais permitidos |
minLength / maxLength | Limites de string |
Por que schemas importam
- Contratos entre equipes de frontend e backend
- Validação automatizada em CI antes do deploy
- Documentação que permanece legível por máquina
- OpenAPI frequentemente embute ou referencia JSON Schema para request bodies
Fluxo de validação
- Escreva ou gere um schema para o payload esperado.
- Execute um validador (biblioteca ou ferramenta) contra o JSON recebido.
- Corrija dados ou schema quando casos extremos reais aparecerem — schemas evoluem como código.
Schemas não substituem entender sintaxe JSON das lições anteriores — ficam por cima, descrevendo estrutura permitida quando o JSON já é parseável.