Web Api ViewModel для DTO для ViewModel
Я начинаю новый проект веб-API и пытаюсь понять концепции DTO / View Model. Я точно знаю, что ваши DTO должны хранить только данные, и любые необходимые бизнес-правила должны выполняться в DTO, прежде чем он, наконец, доберется до контроллер для преобразования (отображения) в соответствующую модель представления.
Однако в моем случае действие PutUser ожидает от клиента целую "UpdateUserViewModel" в форме Json:
public HttpResponseMessage PutUser(UpdateUserViewModel user)
{
var userDTO = UserManager.Update(user); // Passing the viewmodel as it is to the business manager
// Perform DTO to view model mapping here and return response.
return Request.CreateResponse(HttpStatusCode.OK,UpdateUserViewModel);
}
На моем бизнес-уровне я теперь сопоставлю пользователя этой модели представления с userDTO и выполню любую бизнес-логику и верну объекту userDTO действие, которое затем будет сопоставлено с моделью представления и возвращено в качестве ответа, является ли это правильным подходом или должен мой менеджер ожидает только объект DTO, в основном, где должно происходить отображение ViewModel -> DTO -> ViewModel?
Если это правильный подход, каков наилучший способ отобразить сущности ViewModel в DTO и наоборот без использования автоматического сопоставления?