我的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
具有默认路由配置。
我该怎么做?
答案 0 :(得分:4)
您应该能够使用属性路由。
[RoutePrefix("api/users")]
public class UsersApiController : ApiController
{
[Route("")]
public HttpResponseMessage Get()
{
}
}
您应该能够根据操作方法自定义
public class UsersApiController : ApiController
{
[Route("api/users")]
public HttpResponseMessage Get()
{
}
}