首頁 > Java > java教程 > 在 Spring MVC 中傳送 JSON 時如何從 Java 物件中排除欄位?

在 Spring MVC 中傳送 JSON 時如何從 Java 物件中排除欄位?

Barbara Streisand
發布: 2024-10-26 00:49:02
原創
595 人瀏覽過

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

從Spring MVC 發送JSON 時忽略Java 物件中的欄位

在Spring MVC 應用程式中,通常希望在傳送Java 物件時有選擇地排除某些物件時有選擇地排除某些物件字段JSON 回應。這可確保僅與客戶端共享必要的信息,從而增強資料隱私並減少頻寬消耗。

問題陳述

在提供的程式碼中,User 模型類別有createdBy、updatedBy、和加密的密碼。但是,要求是在發送 JSON 回應時動態忽略這些欄位。

使用註解動態排除欄位有兩種方法:

1 。使用@JsonIgnoreProperties("fieldname"):

使用@JsonIgnoreProperties("fieldname")註解User類,指定應排除的欄位。例如:

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

2。在單一欄位上使用@JsonIgnore:

在欄位宣告之前使用@JsonIgnore註解特定欄位。例如:

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

注意: @JsonIgnore 是建議的方法,因為它可以更精細地控制排除哪些欄位。

GitHub 範例

具體實作請參考以下 GitHub 範例:https://github.com/FasterXML/jackson-databind/issues/1416

以上是在 Spring MVC 中傳送 JSON 時如何從 Java 物件中排除欄位?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板