关于Web Api 2.0中的版本控制,我有一个快速的问题。
我开发了一个完全符合RESTful API的应用程序,但是我有两个同名的控制器。
我将它们放在不同的命名空间中,根据不同的文件夹。(例如v1和v2文件夹)。
我还使用了正常的NamespaceHttpControllerSelector配置了正确的路由。
到目前为止,一切都正常。
然而,我有一个问题...即使我将EmailsController放在根级别上,仍然可以为Emails控制器进行版本控制吗?
例如:
Controllers/v1/EmailControllers
Controllers/EmailsControllers
这仍然可能吗?
编辑:
我忘记提到我没有使用RoutePrefix
属性,因为我在RouteConstraint
上一直收到错误。
我已经在我的操作方法上使用了以下装饰(这似乎有些多余,因为它们本质上具有相同的命名空间):
[Route("api/{apiVersion1:ApiVersion1Constraint(v1)}/emails/LogEmails", Name = "LogEmailsRoute_1")]