如何设置路由以支持此功能?
- GET /api/values/ 有效
- GET /api/values/1 作品
- POST /api/values有效
- PUT /api/values 有效
- 删除 /api/values有效
- 获取 /api/values/GetSomeStuff/1 不起作用 !
如果我切换路线,那么 GetSomeStuff 可以工作,但是 /api/values 不起作用。如何配置路由以使它们都工作?
示例方法:
// 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 }
);