我想将值传递给Web Api中的控制器/操作,但它没有找到它。WebApi路由不通过值
我的路由映射:
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{action}/{id}",
defaults: new { id = RouteParameter.Optional }
);
我ApiController:
[HttpGet]
public string MyThing()
{
return "thing";
}
[HttpGet]
public string MyStuff(int myid)
{
return "something " + myid;
}
我通过RestSharp REST调用:
var request = new RestRequest { Resource = "api/values/MyStuff/555", Method = Method.GET };
如果我叫MyThing()
它的工作原理,但。看来问题在于传递id值。
WEB API使用控制器/ HTTP方法/参数 方法名应该GET/POST /把/ etc ... – 2013-05-02 22:15:02
如果你把一个HTTPGET或者HttpPost属性它会使用请求的功能。 – 2013-05-02 22:17:36
是的,但你不应该。这违背了web api的路由目的。 – 2013-05-02 22:21:17