Sto costruendo una semplice API RESTful per un'applicazione basata su Web su cui sto lavorando e mi sto chiedendo quale sia il modo migliore per esporre i miei modelli di dominio.
Diciamo che ho una classe User e voglio fornire una risposta JSON con le varie proprietà dell'utente. Ovviamente non voglio esporre pubblicamente ogni proprietà del mio modello (cose come DateCreated, PasswordHash ecc.) A causa di problemi di sicurezza e larghezza di banda.
Ho letto in Data Transfer Objects e mi chiedo se questa è la strada da percorrere. Se ho ragione, potrei passare, ad esempio, un modello utente al mio DTO utente e garantire che detto DTO consenta solo l'esposizione delle proprietà dell'utente che scelgo (il che aiuterebbe anche a disaccoppiare i miei modelli dalla mia API pubblica).
Questa soluzione è appropriata o ci sono modi migliori per farlo?
Grazie.