Lombok@delegate注释未将值传递给innerDTO



在我的测试类中

String json="{n" +
"t"masterName": "test1",n" +
"t"masterSubjectName": "testsubject",n" +
"t"masterRoll": "534",n" +
"t"firstName": "studentFirstName",n" +
"t"rollNumber": "23"n" +
"}";

Student studentDTO=new Gson().fromJson(json, Student.class);
System.out.println(studentDTO);

Student.java

@Data
public class Student {

@Delegate(types = Master.class)
private Master master=new Master();
private String firstName;
private String lastName;
private int rollNumber;
}

Master.java

@Data
public class Master {
private String masterName;
private String masterSubjectName;
private int masterRoll;
}

这给出了响应:

Student(master=Master(masterName=null, masterSubjectName=null, masterRoll=0), firstName=studentFirstName, lastName=null, rollNumber=23)

当我解析json字符串"时;json";到学生班,

  1. 为什么值没有被传递到";Master.java"内部dto?

  2. 我需要类似Student的东西(masterName=test1,masterSubjectName=testsubject,masterRoll=534,firstName=studentFirstName,rollNumber=23(

@Delegate中的'types'值应该是具有getter方法的Interface,例如getMasterName((、getMasterSubjectName。。。等等

文件:https://projectlombok.org/features/experimental/Delegate

最新更新