所以我想這樣做:如何將字符串傳遞給控制器?
http://localhost:43751/api/doWork/asdfasfsaf
這裏是控制器:
public class DoWorkController : ApiController
{
public User GetWork(String input) {
Dictionary<int, Work> users = DataObjects.Work.find(input);
return users.Values.First<Work>();
}
}
我運行它,它不工作:
沒有HTTP資源被發現匹配請求URI
'http://localhost:43751/api/doWork/asdfasfsaf'
。
和
沒有行動上的控制器 'DoWork的' 匹配請求中。
我在做什麼錯?
這裏是我的路由配置:
public static void RegisterRoutes(RouteCollection routes) {
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
}
如果將'String input'更改爲'String id',會發生什麼情況?你能告訴我們你的Web API路由嗎? –
@Ric實際上,通過Web API,您通常不會在URL中包含操作名稱。按照慣例,以「Get」開頭的任何操作都將與任何「GET」請求相匹配。 –
@ChrisHardie聽起來很有趣。我會收回我的評論。 – Ric