Boa tarde, amigos.
Gostaria de saber a opinião de vocês sobre uma questão de arquitetura: receber Model ou DTO nos métodos de entrada de dados?
Entendo que há riscos em se receber um Model (ou Entity, como preferir chamar) diretamente ao invés do DTO. Você tem menos controle sobre o conteúdo e etc... Um DTO vai te dar muito mais controle já que terá que fazer a conversão para o Model e, no processo, poderá conhecer e garantir quais dados serão persistidos.
Entretanto, a utilização de DTO na entrada de dados vai nos forçar a duplicar as anotações que constam no Model (Entity), o que parece uma prática ruim.
Sei que decisões de arquitetura tipicamente são um "trade-off", de modo que cada opção tem seu lado bom e ruim. Então, gostaria de saber a opinião de vocês.
Abraços a todos.