修改API控制器路由,移除“API”;从控制器名称
本文关键字:控制器 API 移除 路由 修改 | 更新日期: 2023-09-27 18:04:47
我的User
模型有两个控制器。一个是常规的MVC控制器,它处理视图并继承Controller
。然后我有一个继承自ApiController
的API控制器。它们的名字分别是UsersController
和UsersApiController
。我希望从Api控制器的URL中删除"Api",这样我就可以输入:
www.mywebsite.com/api/Users
而不是:
www.mywebsite.com/api/UsersApi
包含一个冗余的"api"。
我试过将属性[Route("Users")]
和[Route("api/Users")]
应用到整个控制器,但都不起作用,它们似乎只是打破了它。我的WebApiConfig.cs
有默认的路由配置。
我该怎么做?
你应该能够使用属性路由。
[RoutePrefix("api/users")]
public class UsersApiController : ApiController
{
[Route("")]
public HttpResponseMessage Get()
{
}
}
你应该能够自定义每个动作方法
public class UsersApiController : ApiController
{
[Route("api/users")]
public HttpResponseMessage Get()
{
}
}