Dopasuj DTO z wewnętrznymi obiektami

0

Pytanie

Zajmuję się tworzeniem aplikacji rest, w którym dane w bazie danych są pobierane w istocie, następnie dane są wprowadzane niektóre konwersji przy wypełnianiu odpowiednich DTO, a następnie wracają z powrotem do konsumenta.

Zgodnie z konsumentem i kilkoma innymi parametrami użytkownika, musi być zwrócony inny podzbiór danych, na przykład, jeżeli użytkownik żąda dostępu do swoich danych osobowych, poziom zwrotu informacji będzie się różnić od tego, czy menedżer pyta o dane swoich pracowników itp...

Moje pytanie: Czy istnieje jakakolwiek struktura do obsługi tego interfejsu mapowania (Tzn. Plik xml, który określa, jakie jest pole, w którym obiekt jest BE, musi być powiązana z jakim DTO w jakim stanie ? zamiast tworzyć własny kod w każdym konkretnym przypadku? z góry dziękuję.

Używam wiosenny wypoczynek + tryb uśpienia

dto hibernate java mapping
2021-11-22 07:19:19
1

Najlepsza odpowiedź

2

Temat mapowania plików XML ja nic nie wiem. Ale to, co uważam za bardzo przydatne i bardzo konfigurowalny, tak to MapStruct. Jest to bardzo przydatne biblioteka i dokumenty i przykłady są bardzo dobre.

Prosty przykład:

@Mapper 
public interface CarMapper {
 
    CarMapper INSTANCE = Mappers.getMapper( CarMapper.class ); 
 
    @Mapping(source = "numberOfSeats", target = "seatCount") // Here is one of the functionalities that you wanted...
    CarDto carToCarDto(Car car); 
}

A także posiada wsparcie dla IDE i Ломбока.

2021-11-22 07:37:16

Dzięki... jednak muszę zrealizować carToCarDto metoda-każdy inny, jeśli mam kilka skojarzeń- ... prawda?
osama yaccoub

Nie, MapStruct realizuje je dla ciebie, po prostu trzeba mieć zarówno gettery jak i setery. Sprawdź przykłady i stronę internetową, na który powołał się w odpowiedzi. Robi dokładnie to, czego potrzebujesz
Renis1235

W innych językach

Ta strona jest w innych językach

Русский
..................................................................................................................
Italiano
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................