【问题标题】:receiving form data on web api action在 web api 操作上接收表单数据
【发布时间】:2017-02-10 05:36:55
【问题描述】:

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

这样我就可以在 mvc 和 web 服务这两个项目上使用 MyModel。这是正确的方法吗?

【问题讨论】:

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


    【解决方案1】:

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

    好处

    • 你只关心你通过映射需要什么
    • 不同项目中的模型变化影响不大
    • 显然,您不会被域外的其他模型所束缚

    缺点

    • 你最终会得到很多模型
    • 过程昂贵

    如果您在不同的团队中从事不同的零件工作,您会特别喜欢 DTO。一个团队处理视图,另一个团队负责后端。此外,如果您使用外部 API。但是您可以在您的情况下应用这种方法。

    【讨论】:

    • 这个 dto 模型应该存在于两个项目中,在 web api 项目和 mvc 项目中?
    • 不,因为如果你这样做会破坏目的
    猜你喜欢
    • 1970-01-01
    • 2018-09-25
    • 2012-11-16
    • 2019-03-30
    • 1970-01-01
    • 2021-03-14
    • 2011-12-30
    • 2013-10-22
    • 2023-03-27
    相关资源
    最近更新 更多