【发布时间】:2016-12-12 13:20:06
【问题描述】:
我正在创建一个 Web Api 控制器。我想在单个控制器中创建多个 Get 函数。见下文:
// GET api/User/5
[ResponseType(typeof(UserModel))]
public IHttpActionResult GetUser(Guid id)
{
var item = repository.Get(id);
if (item == null)
{
throw new HttpResponseException(HttpStatusCode.NotFound);
}
else
{
return Ok(item);
}
}
// GET api/User/GetCities/5
[ResponseType(typeof(CityModel))]
public IHttpActionResult GetCities(int id)
{
var item = repository.GetCities(id);
if (item == null)
{
throw new HttpResponseException(HttpStatusCode.NotFound);
}
else
{
return Ok(item);
}
}
我怎样才能做到这一点,以便我可以通过 URL 调用这两个函数?
【问题讨论】:
-
显示路由配置。
-
我已经做到了朋友们。谢谢。
-
添加在下面。请向下滚动。
-
您的路线配置不符合您的需求。你需要在
api/{controller}/{id}之前指定api/{controller}/{action}/{id}也使用属性路由,你需要这个config.MapHttpAttributeRoutes();
标签: c# asp.net-mvc asp.net-web-api asp.net-web-api-routing