Supposons que j'ai un schéma comme
fname: string
lname: string
age: string
Aucun d'eux n'est requis. L'utilisateur peut m'envoyer l'un de ces attributs ci-dessus mais rien d'autre qui n'est pas déclaré. Ils peuvent me transmettre fname
, lname
et age
ou tous. Mais s'ils me passent tous et des biens supplémentaires comme middle_name
le message doit être rejeté.
Comment définirais-je un schéma comme celui-ci?
Vous pouvez créer un json-schema et utiliser l'option:
additionalProperties = false
De cette façon, vous n'autorisez que les attributs définis dans les propriétés. Dans ton cas:
{
"properties": {
"fname": {"type": "string"},
"lname": {"type": "string"},
"age": {"type": "string"}
},
"additionalProperties": false
}