ฉันมีคลาสโมเดลแบบนี้สำหรับจำศีล
@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;
}
}
ในตัวควบคุม Spring MVC โดยใช้ DAO ฉันสามารถรับวัตถุได้ และส่งคืนเป็น JSON Object
@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;
}
}
ดูส่วนหนึ่งเสร็จโดยใช้ AngularJS ดังนั้นจะได้รับ JSON เช่นนี้
{
"userId" :2,
"userName" : "john",
"emailId" : "john@gmail.com",
"encryptedPwd" : "Co7Fwd1fXYk=",
"createdBy" : null,
"updatedBy" : null
}
หากฉันไม่ต้องการตั้งรหัสผ่านที่เข้ารหัสฉันจะตั้งค่าฟิลด์นั้นเป็นโมฆะด้วย
แต่ฉันไม่ต้องการแบบนี้ฉันไม่ต้องการส่งฟิลด์ทั้งหมดไปยังฝั่งไคลเอ็นต์ หากฉันไม่ต้องการรหัสผ่านอัพเดตโดยสร้างโดยฟิลด์ที่จะส่งผลลัพธ์ของฉัน JSON ควรเป็นอย่างไร
{
"userId" :2,
"userName" : "john",
"emailId" : "john@gmail.com"
}
รายการฟิลด์ที่ฉันไม่ต้องการส่งไปยังไคลเอนต์ที่มาจากตารางฐานข้อมูลอื่น ดังนั้นมันจะเปลี่ยนไปตามผู้ใช้ที่ล็อกอินฉันจะทำได้อย่างไร?
ฉันหวังว่าคุณจะมีคำถาม