2016-11-16 3 views
-3

Spring konvertiert Dezimalwerte automatisch in Ganzzahlen, während Daten über den Hauptteil der POST-Methode in REST-APIs gesendet werden. Ich möchte eine benutzerdefinierte Ausnahme auslösen, wenn der Benutzer Dezimalwerte eingibt. Gibt es einen einfachen Weg, dies zu tun?Verhindern, dass Benutzer Dezimalwerte in Ganzzahlfeldern in REST-APIs im Frühjahr in Java eingeben

Eg :: Wenn Benutzer Alter eintritt = 4,3, dann Frühling ist es konvertieren.

+0

JSON hat kein Konzept einer Unterscheidung zwischen Ganzzahlen und Fließkommazahl. – chrylis

+0

Die Frage enthält nicht genug Details, .. Wie nehmen Sie die Daten? Postkörper? oder Pfadvariable? –

+0

Hallo Amanuel, ich benutze Postkörper, um die Daten –

Antwort

0
if (age instanceof Integer) //dowork(); 
else //throw custom exception 

Betrachten Alter als Typ Objekt und dann den obigen Code verwenden, um Ihre Tests durchzuführen.

+0

Hallo Dtrihinas, danke für Ihre Antwort. Aber ich möchte mein Modell/POJO nicht ändern. Denn dann würde es zu vielen Änderungen in meinem gesamten Code kommen. Können Sie bitte einen anderen Weg vorschlagen? –

+0

Wegen Java-strenger Eingabe, wenn du das Pojo nicht ändern willst, ist es besser, das im Frontend direkt bei deiner Form zu tun ... Ich denke, Thymleaf hat etwas dafür – dtrihinas

Verwandte Themen