2

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

4

2 回答 2

0

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

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

这就是服务层的作用。服务层与数据层和其他服务交互。这是拥有业务逻辑的人。

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

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

于 2013-07-22T16:46:48.773 回答
0

如果您只是计划在不需要返回视图的情况下执行 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 时自动映射。

于 2013-07-22T15:07:41.353 回答