如何设置路由以支持此操作?如何获得MVC4 Web API以支持同一控制器中的HTTP动词和“动作”方法?
- GET/API /值/ 工作
- GET/API /值/ 1 工作
- POST/API 工作工作
- PUT/API /值/值
- DELETE/api /值作品
- GET/api/values/GetSomeStuff/1 不行!
如果我切换路线,然后GetSomeStuff工作,但然后/ API /值不起作用。我如何配置路线以使它们都起作用?
实例方法:
// GET api/values
public IEnumerable<string> Get()
{
return new string[] { "value1", "value2" };
}
// GET api/values/5
public string Get(int id)
{
return "value";
}
// POST api/values
public void Post([FromBody]string value)
{
}
// PUT api/values/5
public void Put(int id, [FromBody]string value)
{
}
// DELETE api/values/5
public void Delete(int id)
{
}
// GET api/values/5
[HttpGet]
public string GetSomeStuff(int id)
{
return "stuff";
}
路线都设置这样的:如何
config.Routes.MapHttpRoute(
name: "ActionApi",
routeTemplate: "api/{controller}/{action}/{id}",
defaults: new { id = RouteParameter.Optional }
);
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
我用单独的控制器(http://mangoit.wordpress.com/2012/12/ 11/rest-and-rpc-in-asp-net-web-api /) – 2013-04-24 15:31:51