我正在开始一个新的 Web API 项目并试图仍然掌握 DTO / View Model 的概念。我知道你的 DTO 应该只保存数据,并且应该在 DTO 最终到达之前在 DTO 上执行任何所需的业务规则。控制器被转换(映射)到适当的视图模型。
但是,在我的情况下,PutUser 操作需要来自客户端的 Json 形式的整个“UpdateUserViewModel”:
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 对象返回给 Action,然后将其映射到视图模型并作为响应返回,这是正确的方法还是应该我的经理只期望一个 DTO 对象,基本上 ViewModel -> DTO 的映射应该发生在哪里 -> ViewModel ?
如果这是正确的方法,那么在不使用自动映射器的情况下将 ViewModel 实体映射到 DTO 和反向的最佳方法是什么?