Ho una situazione nell'applicazione Play Framework in cui un gruppo di modelli dipende da altri modelli, il che crea potenziali pericoli quando si tenta di serializzarli su JSON. Inoltre, ci sono alcune proprietà in ogni modello, che non voglio esporre al cliente. Infine, ma non meno importante, alcune proprietà nell'istanza di moel che il client Web riceve non provengono realmente dal DB, ma da un servizio Web di terze parti.DTO in Play Framework
Ho sentito che è possibile applicare un serializzatore personalizzato prima di rendere l'oggetto a JSON, ma mi piacerebbe usare un approccio ancora più semplice: DTO che viene serializzato su JSON.
La domanda è: dove devo posizionare la funzione di conversione DTO per ogni classe del modello? Controllore? Modello? Forse l'approccio migliore sarebbe seguire la strategia del serializzatore e creare alcune classi di conversione, una per ogni modello?
Il mio più grande timore è che anche i convertitori debbano conoscersi l'un l'altro, perché ovviamente mi piacerebbe trasformare prima ciascuna istanza di Book in un'istanza di Author in DTO, e poi girare l'Author in un DTO. E 'davvero brutto?