Mam sytuację w mojej aplikacji Play Framework, gdzie kilka modeli zależy od innych modeli, co stwarza potencjalne niebezpieczeństwa podczas próby serializowania ich do JSON. Ponadto w każdym modelu istnieje kilka właściwości, których nie chcę ujawniać klientowi. Na koniec, niektóre z właściwości instancji moel, które otrzymuje klient sieciowy, nie pochodzą z DB, ale z usługi WWW innej firmy.DTO w Play Framework
Słyszałem, że możliwe jest zastosowanie niestandardowego serializera przed renderowaniem obiektu do JSON, ale chciałbym użyć jeszcze prostszego podejścia: DTO, który jest następnie serializowany do JSON.
Pytanie brzmi, gdzie powinienem umieścić funkcję konwersji DTO dla każdej klasy modelu? Kontroler? Model? Być może najlepszym podejściem byłoby śledzenie strategii serializatora i stworzenie kilku klas konwersji - po jednym dla każdego modelu?
Moim największym zmartwieniem jest to, że konwertery również powinny wiedzieć o sobie nawzajem, ponieważ oczywiście chciałbym najpierw obrócić każdą instancję książki w instancji autora do DTO, a następnie włączyć autora do DTO. Czy to naprawdę jest złe?