@JsonRootName(value = "studentInfo")
@JsonInclude(value = Include.NON_EMPTY)
public class StudentInfo {
private String student;
@JsonProperty("address")
private String address;
@JsonProperty("studentName")
public String getStudent() {
return student;
}
@JsonProperty("studentUserId")
public void setStudent(String student) {
this.student = student;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
}
使用相同的变量有两个目的,这是我的Student
类,我用我的学生相关的API为DTO这个对象。 这里我使用了学生字符串变量,当调用POST/PUT/
API并传递studentUserId时,它将设置为学生字符串变量,但每当StudentInfo对象返回为响应实体时,它将返回实际名称存储在用户表中的学生。它是不好的做法,在DTO
我只是想知道,我使用学生字符串变量和@JsonProperty
的方式,是正确的使用方式还是错误的做法?
是的,这是不好的做法。你应该在你的课堂中有一个单独的'userId'字段。对不同的数据使用相同的字段只是等待发生的错误。当其他人晚些时候看课程时,这也会令人困惑。 – marstran
如果字段的语义取决于使用的上下文,那么为该类编写测试也是一场噩梦。 – Fildor