2012-06-04 2 views
0
내가 컨트롤러에게 다음과 같은 URL을 사용하여 컨트롤러 타격하고

:문제 3

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

[HttpPost]  
public void PostMethod() 

: 컨트롤러에서

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

을 나는 다음과 같은 방법을 컨트롤러가 실제로 PostMethod()을 치고 있지만 매개 변수 값 1과 2를 읽는 방법을 모릅니다.

더 좋은 호출 방법이 있습니까?

답변

1

당신은 Global.asax.cs

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

이 방법에 대한 사용자 정의 경로를 추가 할 수 있습니다 또는 당신은 ASP.NET MVC 웹 API를 사용하는 경우 당신은 App_Start 폴더에 RouteConfig.cs에 경로를 연결할 수 있습니다 like :

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

routes.maproute 대신 HttpMaproute를 사용할 수 있습니까? – user1400915

+0

이와 비슷한 것을 사용할 수 있습니까? {default} API 경로 {} api/{컨트롤러}/{id1}/{id2}/{id5}/{id4}/{id5} ", 새 { id1 = UrlParameter.Optional, routes.MapHttpRoute ID2 = UrlParameter.Optional, ID3 = UrlParameter.Optional, = UrlParameter.Optional ID4, ID5 = UrlParameter.Optional }); – user1400915

+0

@ user1400915 예 업데이트 된 답변보기 –