我有一个名为 LoginController 的控制器,其 Get 方法的签名为:
public string Get(string Key, string Code, string UserID, string Password)
我希望能够通过类似于以下的调用来调用它:
http://localhost:1234/api/Login/KeyValue/CodeValue/UserValue/PasswordValue
我不能让它工作。如果我调用调用:
http://localhost:1234/api/Login?Key=KeyValue&Code=CodeValueUserID=UserValue&Password=PasswordValue
通话成功。
我尝试将如下路线添加到 Global.asax
routes.MapHttpRoute(name: "Login", routeTemplate: "api/{controller}/{action}/{Key}/{Code}/{UserID}/{Password}",
defaults: new { Key = UrlParameter.Optional, Code = UrlParameter.Optional, UserID = UrlParameter.Optional, Password = UrlParameter.Optional });
或者
routes.MapHttpRoute(name: "Login", routeTemplate: "api/{controller}/{Key}/{Code}/{UserID}/{Password}",
defaults: new { Key = UrlParameter.Optional, Code = UrlParameter.Optional, UserID = UrlParameter.Optional, Password = UrlParameter.Optional });
这些似乎不起作用。我哪里错了,或者这甚至可能吗?我能够在带有 MVC3 的 RC 版本的 WebApi 中做到这一点。