Introduction a JSON Schema : valider la structure comme en SQL
2024-04-13
Un JSON syntaxiquement valide peut rester incorrect metier. JSON Schema decrit la forme autorisee pour verifier en runtime ou CI.
Schema minimal
Commencez par un type racine object ou array, puis properties et required.
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"required": ["id", "name"],
"properties": {
"id": { "type": "integer" },
"name": { "type": "string", "minLength": 1 }
}
}Mots-cles frequents
type, enum, items, additionalProperties: false, oneOf et $ref couvrent la plupart des besoins.
Usage en code
En JS: ajv ; en Python: jsonschema ; en Go: gojsonschema. OpenAPI repose sur un sous-ensemble JSON Schema.
Par rapport a la syntaxe
D'abord JSON.parse, ensuite schema : separer erreur de format et violation de contrat.
Adoption equipe
Versionnez les schemas, validez les fixtures en CI et mettez a jour le schema avant l'implementation API.