Heim  >  Artikel  >  Java  >  Wie schließe ich Felder aus Java-Objekten aus, wenn ich JSON in Spring MVC sende?

Wie schließe ich Felder aus Java-Objekten aus, wenn ich JSON in Spring MVC sende?

Barbara Streisand
Barbara StreisandOriginal
2024-10-26 00:49:02479Durchsuche

How to Exclude Fields from Java Objects When Sending JSON in Spring MVC?

Felder von Java-Objekten ignorieren, wenn JSON von Spring MVC gesendet wird

In Spring MVC-Anwendungen ist es oft wünschenswert, bestimmte Felder selektiv von Java-Objekten auszuschließen, wenn sie als gesendet werden JSON-Antworten. Dadurch wird sichergestellt, dass nur die notwendigen Informationen mit Clients geteilt werden, wodurch der Datenschutz verbessert und der Bandbreitenverbrauch reduziert wird.

Problembeschreibung

Im bereitgestellten Code verfügt die Benutzermodellklasse über Felder für „createdBy“, „updateBy“, und verschlüsseltPwd. Voraussetzung ist jedoch, diese Felder beim Senden der JSON-Antwort dynamisch zu ignorieren.

Lösung

Es gibt zwei Möglichkeiten, Felder mithilfe von Anmerkungen dynamisch auszuschließen:

1 . Verwenden von @JsonIgnoreProperties("fieldname"):

Annotieren Sie die Benutzerklasse mit @JsonIgnoreProperties("fieldname") und geben Sie die Felder an, die ausgeschlossen werden sollen. Zum Beispiel:

<code class="java">@JsonIgnoreProperties(value = {"createdBy", "updatedBy", "encryptedPwd"})
public class User {
    // ... (Class definition remains the same)
}</code>

2. Verwenden von @JsonIgnore für einzelne Felder:

Annotieren Sie bestimmte Felder mit @JsonIgnore vor der Felddeklaration. Zum Beispiel:

<code class="java">public class User {
    private Integer userId;
    private String userName;
    
    @JsonIgnore
    private String encryptedPwd;
    
    // ... (Other fields remain the same)
}</code>

Hinweis: @JsonIgnore ist der empfohlene Ansatz, da er eine detailliertere Kontrolle darüber bietet, welche Felder ausgeschlossen werden.

GitHub-Beispiel

Eine praktische Umsetzung finden Sie im folgenden GitHub-Beispiel: https://github.com/FasterXML/jackson-databind/issues/1416

Das obige ist der detaillierte Inhalt vonWie schließe ich Felder aus Java-Objekten aus, wenn ich JSON in Spring MVC sende?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn