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.
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.
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.
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!