【发布时间】:2019-03-10 03:21:30
【问题描述】:
我收到错误 - 找到了多个与 URL 匹配的控制器类型。
在我的移动 API 上,我必须支持多个版本。所有版本都混合到具有覆盖路由属性的单个控制器中。
我的代码是这样的(没有问题)
namespace MyApi
{
[RoutePrefix("company")]
public class UseController
{
[Route("users")]
public List<user> GetUsers() { return new List<User>(); }
[Route("~/v2/company/users")]
public List<user> GetUsers_v2() { return new List<User>(); }
[Route("~/v3/company/users")]
public List<user> GetUsers_v3() { return new List<User>(); }
}
}
随着控制器的增长,它变得越来越难以维护。我想将版本拆分为差异控制器,例如
namespace MyApi
{
[RoutePrefix("company")]
public class UseController
{
[Route("users")]
public List<user> GetUsers() { return new List<User>(); }
}
}
namespace MyApi.v2
{
[RoutePrefix("v2/company")]
public class UseController
{
[Route("users")]
public List<user> GetUsers() { return new List<User>(); }
}
}
namespace MyApi.v3
{
[RoutePrefix("v3/company")]
public class UseController
{
[Route("users")]
public List<user> GetUsers() { return new List<User>(); }
}
}
【问题讨论】:
标签: c# rest api routing versioning