public class UsersController : ApiController
{
// GET api/companies/{company_id}/users/{user_id}
public object Get(int company_id, int user_id)
{
...
}
// GET api/companies/{company_id}/plants/{plant_id}/users
public IEnumerable<object> Get(int company_id, int plant_id)
{
...
}
}
第一种方法应该返回公司的单个用户部分 第二种方法应该返回公司和工厂的用户列表
错误:类型“...”已经定义了一个具有相同参数类型的成员“Get”
是否可能避免Web Api将第二个Get解释为重新定义?
如果查看http://aspnetwebstack.codeplex.com/wikipage?title=Attribute%20routing%20in%20Web%20API,在场景3中使用[HttpGet(“…”)]注释。
public class MoviesController : ApiController
{
[HttpGet("actors/{actorId}/movies")]
public Movie Get(int actorId) { }
[HttpGet("directors/{directorId}/movies")]
public Movie Get(int directorId) { }
}
但在我的情况下 [HttpGet(...)] 错误:“System.Web.Http.HttpGetAttribute”不包含一个带有1个参数的构造函数。