WebApi Map路由器

时间:2015-05-07 13:42:32

标签: asp.net-web-api routes

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

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

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

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

感谢。

1 个答案:

答案 0 :(得分:2)

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

特别是你应该看看Route prefixes。例如:

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