【问题标题】:Controller in an MVC framework for REST API without Views没有视图的 REST API 的 MVC 框架中的控制器
【发布时间】:2013-07-21 09:20:47
【问题描述】:

我了解 MVC 框架中的控制器充当模型和视图之间的接口。如果我的后端是 API(没有任何视图),是否不需要控制器?如果是这样,我应该将我的 CRUD 操作放在模型中吗?

【问题讨论】:

    标签: node.js rest model-view-controller express crud


    【解决方案1】:

    如果您只是计划执行 REST 操作而不需要返回视图 - 您当然应该查看 WEB Api 控制器。 Web Api 允许您将 REST 操作定义为操作名称本身,例如

    public void Post { ExampleModel model}
    public void Put { AnotherModel model }
    public Something Get { string id }
    public void Merge { string name, int age }
    

    使用 Web Api 的另一个额外好处是,传入方法的值会在调用方法并返回 POCO 时自动映射。

    【讨论】:

    • 感谢您的建议!但我使用 node.js 作为我的后端
    【解决方案2】:

    我认为 API 有点像用户界面。它是一种媒体,位于系统边界,允许与系统及其数据进行(间接)交互。

    数据访问通常是系统核心机制之一。任何接口层(UI 或 WS)都应该能够直接与数据层交互。

    这是服务层的角色。服务层与数据层和其他服务交互。这是拥有业务逻辑的那个。

    对于 API(即您在系统之外向世界公开的东西),它的职责是断言输入/输出数据是有效的,并进行一些转换(例如,如果输入数据是字符串,将其转换为数字、布尔值或其他)。

    所以,我认为在你的情况下,你应该把你的 CRUD 处理放在一些轻量级的应用程序或域服务中,然后在你的 API 服务中调用它。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-11-06
      • 2013-10-29
      • 1970-01-01
      • 1970-01-01
      • 2019-07-31
      • 2021-04-27
      • 1970-01-01
      相关资源
      最近更新 更多