Ich entwickle eine kleine RESTful-Webanwendung in Python und verwende JSON als Schnittstelle. Die Anwendung akzeptiert JSON-Daten und muss sie anhand eines Schemas validieren. Das Schema kann abhängig von der Anfrage sehr streng oder flexibel sein. Außerdem muss die Anwendung Benutzerobjekte möglicherweise zu einem späteren Zeitpunkt überprüfen.
Ich habe einige Vorschläge im Stapelüberlauf sowie auf anderen Websites gefunden. Dazu gehören
Aber konnte keinen richtigen Vergleich finden.
In Bezug auf Einfachheit, Flexibilität und Erweiterbarkeit, welche sollte Ihrer Meinung nach gewählt werden?
Cerberus scheint sehr flexibel zu sein und die Erweiterbarkeit scheint aus ihrer Dokumentation und ihren Beispielen sehr gut zu sein. Aber ich weiß nichts über die anderen Bibliotheken.
BEARBEITEN 1 : Jetzt sind die Anforderungen der Anwendung ziemlich einfach und eine grundlegende Schemaüberprüfung mit einem Bereich zum Hinzufügen von benutzerdefinierten Typen und benutzerdefinierten Validierungsregeln wird ausreichen. Wenn also all diese Bibliotheken die Grundvoraussetzungen bieten, würde ich diejenige wählen, die am einfachsten zu verwenden ist. Auch ich bin für andere Vorschläge offen, wenn überhaupt.
Ich hoffe auf Hilfe.
Ich würde Cerberus nehmen, wenn auch nur für seine wunderbare Dokumentation. Es erlaubt Abhängigkeiten nach bestimmten Bedingungen zu setzen ( Ссылка ) und ist sicherlich so Einfach für die grundlegenden Schemavalidierungsanforderungen, die Sie als jsonschema, wollüstig, usw. bezeichnen.
Verschachtelte Felder werden ebenfalls unterstützt (in allen Bibliotheken, mit denen ich vertraut bin) und ihre Anpassungsdokumente sind erstaunlich: Ссылка
Davon abgesehen basiert meine Antwort nicht auf der Verwendung aller drei vorgeschlagenen Pakete, sondern eher darauf, jsonschema ausgiebig zu verwenden und genügend Dokumentation und Empfehlungen zu den anderen beiden zu lesen.
Tags und Links python jsonschema json-schema-validator cerberus voluptuous