JSON Schema Intro: JSON-Strukturen validieren wie SQL-Constraints
2024-04-13
Gueltige Syntax reicht nicht aus: Felder koennen trotzdem fachlich falsch sein. JSON Schema beschreibt die erlaubte Form fuer Runtime- oder CI-Pruefungen.
Minimales Schema
Wurzel als object oder array definieren; properties und required festlegen.
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"required": ["id", "name"],
"properties": {
"id": { "type": "integer" },
"name": { "type": "string", "minLength": 1 }
}
}Wichtige Keywords
type, enum, items, additionalProperties: false, oneOf und $ref decken die meisten Faelle ab.
Im Code nutzen
JavaScript mit ajv, Python mit jsonschema, Go mit gojsonschema.
OpenAPI-Request/Response-Schemas basieren auf JSON Schema-Teilmenge.
Gegenueber Syntax-Check
Zuerst JSON.parse, dann Schema-Validierung - so sind Fehlertypen klar getrennt.
Im Team einfuehren
Schema ins Repo legen, Fixtures in CI pruefen, API-Aenderungen zuerst im Schema nachvollziehen.