在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 範例:https://github.com/FasterXML/jackson-databind/issues/1416
以上是在 Spring MVC 中傳送 JSON 時如何從 Java 物件中排除欄位?的詳細內容。更多資訊請關注PHP中文網其他相關文章!