Tôi có lớp mô hình như thế này, cho ngủ đông
@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;
}
public void setEncryptedPwd(String encryptedPwd) {
this.encryptedPwd = encryptedPwd;
}
public void setCreatedBy(String createdBy) {
this.createdBy = createdBy;
}
@Column(name = "UpdatedBy", length = 100)
public String getUpdatedBy() {
return this.updatedBy;
}
public void setUpdatedBy(String updatedBy) {
this.updatedBy = updatedBy;
}
}
Trong bộ điều khiển Spring MVC, sử dụng DAO, tôi có thể lấy đối tượng. và trả về dưới dạng Đối tượng JSON.
@Controller
public 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;
}
}
Phần xem được thực hiện bằng AngularJS, vì vậy nó sẽ nhận được JSON như thế này
{
"userId" :2,
"userName" : "john",
"emailId" : "john@gmail.com",
"encryptedPwd" : "Co7Fwd1fXYk=",
"createdBy" : null,
"updatedBy" : null
}
Nếu tôi không muốn đặt Mật khẩu được mã hóa, tôi cũng sẽ đặt trường đó là null.
Nhưng tôi không muốn như vậy, tôi không muốn gửi tất cả các trường cho phía máy khách. Nếu tôi không muốn gửi mật khẩu, cập nhật, các trường đã tạo, thì kết quả JSON của tôi sẽ giống như
{
"userId" :2,
"userName" : "john",
"emailId" : "john@gmail.com"
}
Danh sách các trường mà tôi không muốn gửi đến máy khách đến từ bảng cơ sở dữ liệu khác. Vì vậy, nó sẽ thay đổi dựa trên người dùng đã đăng nhập. Làm cách nào để làm điều đó?
Tôi hy vọng bạn đã nhận được câu hỏi của tôi.