Asp.net mvc 4 单个控制器中的多个CRUD API是糟糕的设计吗?

Asp.net mvc 4 单个控制器中的多个CRUD API是糟糕的设计吗?,asp.net-mvc-4,azure,asp.net-web-api,Asp.net Mvc 4,Azure,Asp.net Web Api,我们正在自动配置Azure资源。我们有一个名为AzureSQLServerController的控制器文件,它负责Azure SQL Server中的所有CRUD操作 我们有以下API: 创建SQL Server-POST 修改sql server Put 现在查看SQL server防火墙规则-在AzureSQLServerController.cs itslef中 CreateFirewallRule-POST ModifySQLServerFirewallRule-PUT 这里的问题是:在

我们正在自动配置Azure资源。我们有一个名为AzureSQLServerController的控制器文件,它负责Azure SQL Server中的所有CRUD操作

我们有以下API:

创建SQL Server-POST 修改sql server Put

现在查看SQL server防火墙规则-在AzureSQLServerController.cs itslef中

CreateFirewallRule-POST ModifySQLServerFirewallRule-PUT


这里的问题是:在一个控制器文件中有多个CRUD操作API是有问题的?保持多线程POST API将使客户端难以使用API?我不能使用“配置路由”和API的“操作名称”来解决问题吗?或者我应该为每个CRUD操作创建不同的控制器,例如AzureSQLServerController和AzureSQLServerFirewallController吗?

这不是一个好主意,您可能会面临Url路由问题

一些提示:

1-稍微研究一下restful服务粒度 2-查看属性路由Nuget(除非您使用的是ASPNET MVC 5)


这个金块可以为你节省很多时间。(这就是为什么您应该在更多控制器中分离)

使用Fiddler并使用管理门户。您将看到Microsoft是如何实现这一点的。这个问题完全脱离主题,因为它主要是基于观点的!更不用说它与代码无关。