Cześć. Mam wątpliwości odnośnie dobrej praktyki zagnieżdżania obiektow podczas mapowania Jsonów na Obiekty i na odwrót. Chodzi o przypadek kiedy struktura jest trochę bardziej żłożona, sa w niej listy, obiekty wewnątrz, którcyh sa listy. Bardzo ogólnie:
public class Json {
private String name;
private String Surname;
private List<FamilyMember> family;
private Contact contact;
// getters, setters
}
Mam watpliwośći jak jest "czyściej" jesli np dany obiekt "Json" przychodzi z jakiegoś Api do naszego backendu, od razu go przetwarzamy i odsyłamy gdzieś dalej np. do naszej apki fontowej, lepiej jest zagnieżdzożone obiekty tworzyć jako klasy wewnetrzne tego Jsona:
public class Json {
private String name;
private String Surname;
private List<FamilyMember> family;
private Contact contact;
class FamilyMember {
private String name;
private int phone;
// getters, setters
}
// getters, setters
// itd ....
}
czy jako zewnętrzne klasy i zagnieżdzać je jako pola tylko? W przypadku klas wewnętrznych to razem ze wszystkimi geterami i seterami to struktura robi się olbrzymia i ciężko się ten model czyta, w przypadku klas zewnętrznych czasami klasy będa tworzone tylko po to aby umieścić je w jednym polu. Z drugiej strony chęć skorzystania z typu lasy wewnętrznej wymagałaby łańcuchowego odniesienia do typu co też jest śmierdzące... Jakie zatem wasze zdanie?
P.S. używam jacksona 2