2012-06-04 82 views
0

我打控制器使用以下URL控制器:問題在MVC的Web API訪問控制器POST參數3

"http://localhost/api/controller/1/2" 

在控制器我有以下幾種方法:

[HttpPost] 
public void PostMethod2(string a,string b) 

[HttpPost]  
public void PostMethod() 

控制器實際上是擊中PostMethod(),但我不知道如何讀取參數值1和2.

是否有任何其他更好的方式調用它?

回答

1

您可以添加自定義路線此方法在Global.asax.cs中

routes.MapRoute("PostMethod2", 
       "api/mycontroller/{a}/{b}", 
       new { contorller = "mycontroller", action="PostMethod2"} 
      ); 

或者,如果你正在使用ASP.NET MVC的Web API,您可以在App_Start文件夾RouteConfig.cs掛鉤路線像這樣:

routes.MapHttpRoute(
       name: "PostMethod2", 
       routeTemplate: "api/mycontroller/{a}/{b}", 
      ); 
+0

我可以使用routes.HttpMaproute而不是routes.maproute嗎? – user1400915

+0

我可以使用類似的東西嗎? routes.MapHttpRoute(「Default API Route」, 「api/{controller}/{id1}/{id2}/{id3}/{id4}/{id5}」, new { id1 = UrlParameter.Optional, ID2 = UrlParameter.Optional, ID3 = UrlParameter.Optional, ID4 = UrlParameter.Optional, ID5 = UrlParameter.Optional }); – user1400915

+0

@ user1400915是查看更新的答案 –