Wpis z mikrobloga

#java
Mam do Was 2 pytania, ale podzielę je na wpisy. W jakiej warstwie robicie mapowanie encji na DTO: service czy controller?

W jakiej warstwie robicie mapowanie encji na DTO?

  • Service 30.0% (6)
  • Controller 45.0% (9)
  • Gdzie indziej (komentarz) 25.0% (5)

Oddanych głosów: 20

  • 6
@Patres: Jeden rabin powie tak, a inny powie nie.
Ja generalnie preferuję mapowanie w kontrolerze albo dedykowanym mapperze, bo nie lubię jak serwis jest ściśle związany z jakimś widokiem. Jeśli będziesz chciał zrobić nową wersję endpointa z innymi DTO, to trudno wykorzystać istniejący serwis, jeśli przyjmuje on stare DTO jako input/output.
@Patres: Zasadniczo, moim zdaniem, kontroler, bo to kontroler wie, że obiekt będzie Transportowany i do kogo, więc wie że (i jakie) DTO jest potrzebne.

Oczywiście mówimy o tym kto woła klasę mapującą. Sama implementacja mapowania powinna być w oddzielnej klasie, formalnie będzie ona serwisem, ale przyjęło się ją nazywać maperem.