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 33.3% (7)
  • Controller 42.9% (9)
  • Gdzie indziej (komentarz) 23.8% (5)

Oddanych głosów: 21

  • 6
  • Odpowiedz
@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.
  • Odpowiedz
@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.
  • Odpowiedz