【问题标题】:multiple CRUD APIs in single Controller is Bad design?单个控制器中的多个 CRUD API 是糟糕的设计吗?
【发布时间】:2013-10-31 05:57:33
【问题描述】:

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

我们有以下 API:

创建 SQL Server-POST 修改sql server-Put

现在用于 SQL 服务器防火墙规则 - 在 AzureSQLServerController.cs 中。

创建防火墙规则 -POST 修改SQLServerFirewallRule -PUT

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

【问题讨论】:

  • 获取 Fiddler 并使用管理门户。您将看到微软是如何实现这一点的。这个问题非常偏离主题,因为它主要是基于意见的!更不用说它根本与代码无关。

标签: asp.net-mvc-4 azure asp.net-web-api


【解决方案1】:

这不是一个好主意,您可能会遇到 Url 路由问题。

一些提示:

1-研究一下restful服务粒度 2-看看Attribute Routing Nuget(除非你使用的是ASPNET MVC 5)http://attributerouting.net/

这个金块可以为您节省大量的路由时间。 (这就是为什么你应该在更多的控制器中分开)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-04-28
    • 1970-01-01
    • 2015-04-22
    • 1970-01-01
    • 2012-09-06
    • 2011-08-01
    相关资源
    最近更新 更多