Ich implementiere ein API-Gateway in Java, wo das Anfrageobjekt viele Felder und Unterobjekte hat. Es gibt zahlreiche Eigenschaften, die required
(sollte nicht null sein) und einige, die optional sind.in Java, beste Möglichkeit, Objekte mit Eigenschaften zu validieren, die mit @NonNull versehen sind
Der Code läuft in Karaf und verwendet Blueprint, daher sind einige Spring-basierte Mechanismen möglich, aber wir verwenden momentan nicht viel von Spring (obwohl ich mit den verschiedenen Spring-Frameworks vertraut bin).
Ich bin mir der Annotation Eclipse @NonNull
bewusst, und ich kann diese Annotation zu Getter-Methoden hinzufügen, die einen Nicht-Null-Wert zurückgeben müssen.
Was ich gerne tun könnte, ist eine wiederverwendbare Methode für das Request-Objekt, die feststellen wird, ob es Constraint-Verletzungen gibt und eine lesbare Fehlermeldung (oder etwas anderes) zurückgibt.
Es gibt verschiedene Möglichkeiten, dies zu tun, aber ich bin mir nicht sicher, welche Rahmenstrategie in meiner Situation sinnvoll ist. Zum Beispiel gibt es commons-validator
, aber das scheint für Web-Formulare spezifisch zu sein. Ich habe auch eine Dokumentation für eine hibernate validator
gesehen, aber das scheint hier nicht zu gelten.
Die Annotation zusammen mit 'Objects.requireNonNull()' für jedes Argument in dem Anfang hinzufügen von die Methode. Wird mit einer NPE laut und schnell ausfallen, wenn die Voraussetzungen nicht erfüllt sind. –
Entschuldigung, ich brauche mehr Informationen. –
Können Sie Beispielcode teilen? –