Tengo una situación en mi aplicación Play Framework donde un grupo de modelos depende de otros modelos, lo que crea peligros potenciales al tratar de serializarlos en JSON. Además, hay algunas propiedades en cada modelo, que no quiero exponer al cliente. Por último, pero no menos importante, algunas de las propiedades en la instancia de moel que recibe el cliente web no provienen realmente de la base de datos, sino de un servicio web de terceros.DTO en Play Framework
Escuché que es posible aplicar un serializador personalizado antes de representar el objeto en JSON, pero me gustaría utilizar un enfoque incluso más simple: DTO que luego se serializa a JSON.
La pregunta es, ¿dónde debería colocar la función de conversión DTO para cada clase de modelo? ¿Controlador? ¿Modelo? Quizás el mejor enfoque sería seguir la estrategia del serializador y crear algunas clases de conversión, ¿una para cada modelo?
Mi mayor temor es que los conversores también se conozcan entre sí, porque obviamente me gustaría convertir cada una de las instancias de Book en una instancia de Author en DTO primero, y luego convertir al autor en una DTO también. ¿Esto es realmente malo?