我有這樣的模型類,用于休眠@Entity@Table(name = "user", catalog = "userdb")@JsonIgnoreProperties(ignoreUnknown = true)public class User implements java.io.Serializable { private Integer userId; private String userName; private String emailId; private String encryptedPwd; private String createdBy; private String updatedBy; @Id @GeneratedValue(strategy = IDENTITY) @Column(name = "UserId", unique = true, nullable = false) public Integer getUserId() { return this.userId; } public void setUserId(Integer userId) { this.userId = userId; } @Column(name = "UserName", length = 100) public String getUserName() { return this.userName; } public void setUserName(String userName) { this.userName = userName; } @Column(name = "EmailId", nullable = false, length = 45) public String getEmailId() { return this.emailId; } public void setEmailId(String emailId) { this.emailId = emailId; } @Column(name = "EncryptedPwd", length = 100) public String getEncryptedPwd() { return this.encryptedPwd; } 在Spring MVC控制器中,使用DAO,我可以獲取對象。并返回為JSON對象。@Controllerpublic class UserController { @Autowired private UserService userService; @RequestMapping(value = "/getUser/{userId}", method = RequestMethod.GET) @ResponseBody public User getUser(@PathVariable Integer userId) throws Exception { User user = userService.get(userId); user.setCreatedBy(null); user.setUpdatedBy(null); return user; }}視圖部分是使用AngularJS完成的,因此它將獲得像這樣的JSON{ "userId" :2, "userName" : "john", "emailId" : "[email protected]", "encryptedPwd" : "Co7Fwd1fXYk=", "createdBy" : null, "updatedBy" : null}如果我不想設置加密的密碼,則將該字段也設置為null。但是我不想這樣,我不想將所有字段發送到客戶端。如果我不希望發送密碼,updatedby,createdby字段,則我的結果JSON應該像{ "userId" :2, "userName" : "john", "emailId" : "[email protected]"}我不想發送給其他數據庫表的客戶端的字段列表。因此,它將根據登錄的用戶進行更改。我該怎么做?
從Spring MVC作為JSON發送時動態忽略Java對象中的字段
海綿寶寶撒
2019-11-25 14:29:55