接收有关web api操作的表单数据

时间:2017-02-10 05:36:55

标签: c# asp.net-mvc asp.net-web-api

我有一个mvc web应用程序,它使用web api服务。如果我想将MyModel中表示的复杂表单数据从mvc发送到webservice,那么webservice应该将MyModel作为项目的一部分。

这样我在两个项目,mvc和web服务上都会MyModel。这是正确的做法吗?

1 个答案:

答案 0 :(得分:0)

在我看来,他们应该有不同的模型并进行必要的映射以避免相互依赖。在这种情况下,两个项目都完好无损。这种方法称为 Data transfer object (DTO)

优势

  • 您只关心通过映射所需的内容
  • 如果不同项目中的模型发生变化,则不会产生很大影响
  • 显然,您不会被绑定在域外的其他模型

缺点

  • 你最终会有很多模特
  • 昂贵的流程

如果您在不同的团队中工作,请特别感谢DTO。一个团队为后端调查视图和不同的团队。如果您正在使用外部API。但是你可以在你的情况下应用这种方法。