I have two class for external API response:
ClassA:
@JsonIgnoreProperties(ignoreUnknown = true)
@Getter
@Setter
public class ClassA {
private SubClass subClass;
@Getter
@Setter
public static class SubClass {
Integer total;
Integer perPage;
List<Data> dataList;
@Getter
@Setter
public static class Data {
private String field1;
private String field2;
private int field3;
}
}
}
ClassB:
@JsonIgnoreProperties(ignoreUnknown = true)
@Getter
@Setter
public class ClassB {
private SubClass subClass;
@Getter
@Setter
public static class SubClass {
Integer total;
Integer perPage;
List<Data> dataList;
@Getter
@Setter
public static class Data {
private String field1;
private int field2;
private Date field3;
}
}
}
And deserialization with ObjectMapper:
ClassA classA =
mapper.readValue(bodyResponse, ClassA.class);
What is the best way to get rid of duplicate code in these classes when using inheritance and later using deserialization?