Ich bin mir also bewusst, dass Sie Json-Werte in enums analysieren können, indem Sie @Value
Annotation, aber was ist das Verhalten, wenn der Wert im JSON nicht mit Werten übereinstimmt, die mit @Value
kommentiert sind. Angenommen, eine API entscheidet, einen neuen Typ hinzuzufügen, von dem Ihr Client nichts weiß. Wird der Wert auf null gesetzt oder gibt es eine Ausnahme? Gibt es eine Möglichkeit, einen Aufzählungswert als Standardwert für alle Werte festzulegen?
Laut diesem Google-Gruppenpost erhalten Sie NullPointerException
.
Referenzierter Inhalt:
Ich habe ein Objekt namens Job mit einem Enum-Feld statusCode, das ein enthält API. Diese Enumeration ist korrekt mit @Value annotiert, solange die enum behandelt alle möglichen Werte, die in der status_code Feld, json Parsing funktioniert gut.
%Vor%Wenn jedoch ein unbekannter Wert in diesem Feld zurückkommt, erhalte ich ein
%Vor%Ich möchte, dass dieser Code so robust ist, dass er einen unbekannten Wert hat kommt zurück wird es als null behandelt, anstatt ein zu werfen Ausnahme und nicht das Job-Objekt zurückgeben. Gibt es einen Weg zu tun? das?