JSON-Serialisierungs- und Deserialisierungssteuerung mit @JsonIgnore
In Spring JSONView-Anwendungen kann die Anpassung der Serialisierung und Deserialisierung von Eigenschaften eine Herausforderung darstellen. Ein häufiges Szenario ist, dass wir vertrauliche Daten wie gehashte Passwörter während der Serialisierung ausschließen und sie dennoch deserialisieren möchten.
Um dies zu erreichen, verwenden wir die Annotation @JsonIgnore für die Passworteigenschaft. Dies kann jedoch auch verhindern, dass die Eigenschaft deserialisiert wird, was die Anmeldung von Benutzern erschwert, wenn sie kein vorhandenes Passwort haben.
Die Lösung hängt von der verwendeten Jackson-Version ab. Vor 1.9 konnten wir @JsonIgnore nur für die Getter-Methode verwenden. Für neuere Versionen fügen wir die folgenden Anmerkungen hinzu:
@JsonProperty(access = JsonProperty.Access.WRITE_ONLY): Diese Anmerkung zur Setter-Methode ermöglicht die Serialisierung, blockiert jedoch die Deserialisierung.
Alternativ kann auch die Verwendung des Zugriffstyparguments READ_ONLY von @JsonProperty erreicht werden Dies:
@JsonProperty(access = JsonProperty.Access.READ_ONLY) private String password;
Diese Anmerkungen stellen sicher, dass die Passworteigenschaft nur während der JSON-Konvertierung serialisiert wird, aber dennoch während der Objekterstellung deserialisiert werden kann.
Durch Befolgen dieser Techniken können wir die JSON-Serialisierung selektiv steuern und Deserialisierung sensibler Eigenschaften, was Flexibilität und Sicherheit in Webanwendungen bietet.
Das obige ist der detaillierte Inhalt vonWie kann ich die JSON-Serialisierung und Deserialisierung sensibler Daten in Spring JSONView steuern?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!