【发布时间】:2015-11-21 21:20:31
【问题描述】:
因此,我们正在从 Web 服务迁移到 Web API。我们将在 .NET 和 MVC 5 中使用 VS 2015 - 我们的计划是将我们所有的 Web API 放在一个项目中(显然每个控制器都是一个单独的 API)。然后我们打算将 API 托管在一个内部网站(即 webapis.company.com)上,然后通过路由调用 API/方法。
这会被认为是不好的做法吗?如果是这样,拆分我们的 API 的最佳方法是什么?
【问题讨论】:
-
每个控制器有多少个方法?也许我不明白这个问题,但你所描述的似乎很典型。在我使用过的每个 WebAPI 项目中,我们都有多个控制器,每个控制器都包含一个或多个 get、post 方法等。
-
每个控制器将容纳大约 2 - 10 个方法。所以说我有一个用于电子邮件的 API。电子邮件的所有方法都在 EmailController 中。但我们也假设我想要另一个处理员工的 API。所以我会把它们放在同一个项目的 EmployeeController 中。所以我想我要问的是我应该在同一个解决方案中将它们分成不同的项目吗?基本上是问这是否是不好的做法。但从你的说法看来,将它们全部放在一个解决方案中是完全没问题的,对吧?
-
是的,在那种情况下,我认为一个项目最有意义。
-
@Woodchipper 什么时候没有意义?
-
@MZawg 主要围绕安全性和可扩展性。如果您有内部和公共 api,我会将它们托管在两个不同的环境中。围绕扩展,将 API 分解为功能性业务领域(计费、报告等)可能是有意义的
标签: c# web-services visual-studio asp.net-web-api asp.net-web-api2