WebApi 地图路由器

WebApi Map Router

我在我们的项目中使用 WebApi。我们在不同的子文件夹下定义了相同的控制器名称。喜欢:

Controllers
    |----Admin
    |      |----MyProjectsController.cs
    |
    |----User
          |----MyProjectsController.cs

我们如何为这种情况定义路由配置。

/api/admin/MyProjects
/api/user/MyProjects

谢谢。

路由模板不直接支持这一点,因为在使用 Web API 控制器时不考虑名称空间。您需要使用 Web API 路由属性。而且您必须手动指定它们(它们现在与包含控制器的文件夹或命名空间无关)。

你尤其应该看看Route prefixes。例如:

[RoutePrefix("Admin")]
public class MyProjectController: ApiController