我正在尝试将值传递给Web Api中的控制器/操作,但它找不到它。
我的路线图:
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值。
答案 0 :(得分:6)
将参数名称从“myid”修改为“id”
[HttpGet]
public string MyStuff(int **id**)
答案 1 :(得分:0)
解决。
我发现我必须将参数添加为查询字符串,而不是/ path值。
api/values/MyStuff?myid=555
而不是
api/values/MyStuff/555