所以我是ASP.NET webAPI的新手,我创建了一个名为:UsersController的控制器,它公开了4种CRUD方法。 如果用户致电:
GET /用户
这将使用默认的Get方法
public IEnumerable Get()
如果用户致电:
GET / users / 1234
这反过来会调用:
公共字符串Get(int id)
... BUT 如果我需要这样的东西怎么办?
获取/用户/男性
GET / Users / Tall
如何覆盖/重载GET方法?
答案 0 :(得分:0)
使用RouteAttribute。
在你的Api控制器中:
public IEnumerable Get()
{
}
public string Get(int id)
{
}
[Route("/Users/Tall")]
public IEnumerable GetTall()
{
}
有关详情:http://www.asp.net/web-api/overview/web-api-routing-and-actions/attribute-routing-in-web-api-2。
答案 1 :(得分:0)
路线限制 路由约束可让您限制路由模板中参数的匹配方式。一般语法是“{parameter:constraint}”。例如:
[Route("users/{id:int}")]
public User GetUserById(int id) { ... }
Route("users/{name}")]
public User GetUserByName(string name) { ... }