asp.net web api-所有资源都有一个控制器是不是一种糟糕的做法



ASP.NET Web API,拥有一个用于所有业务对象的控制器是否是一种良好的做法?

例如,我的控制器中有以下路径:

[Route("{resource}/{id}")]
[HttpGet]
public HttpResponseMessage Get(string resource, int id)
{
    // code not shown for brevity...
}

基于此,我有大约50个业务对象,每个业务对象都有一个名为"Resource"的属性,它基本上是作为字符串的类的名称(例如"Customer"、"Order"(。在上面的控制器操作中,我使用路由参数"resource"one_answers"id"检索资源。例如:

获取/客户/1234和获取/订单/5678

这种做法不好吗?为每个业务对象创建一个控制器更好吗?每种方法的优缺点是什么?

我喜欢苹果的做法。

每个视图仅由一个视图控制器控制。~查看iOS版控制器编程指南其想法是,您应该能够轻松地交换视图。IMO,通过每个视图只有一个控制器,可以更容易地实现这一点。

尽管这是一条一般的经验法则,但所需控制器的数量取决于Web应用程序中的模块和子模块的数量。

作为补充,将控制器组织到区域中会很有帮助。Area的概念构建在ASP.NET MVC框架中,它简化了为一个模块服务的控制器的组织。

有许多相关的讨论:

MVC架构

MVC控制器和查看目录组织

MVC类组织对于多个视图和控制器是什么样子的?

ASP.NET MVC控制器操作设计

相关内容

最新更新