2014-12-08 2 views
0

나는 거의 모든 것을 읽었습니다. 모든 솔루션을 적용했습니다. 아직도 아무것도 작동하지 않습니다.문제가있는 asp.net webApi routing with angularjs. (여러 동작이 일치하는 것으로 나타났습니다)

public static class WebApiConfig 
    { 
     public static void Register(HttpConfiguration config) 
     { 
      config.Routes.MapHttpRoute(
       name: "DefaultApi", 
       routeTemplate: "api/{controller}/{id}", 
       defaults: new { id = RouteParameter.Optional } 
      ); 


      config.Routes.MapHttpRoute(
      name: "ApiWithAction", 
      routeTemplate: "api/{controller}/{action}/{id}", 
      defaults: new { id = RouteParameter.Optional } 
      ); 
      config.EnableSystemDiagnosticsTracing(); 
     } 
    } 

웹 API를 Sorting.cs는

$http({ 
      method: 'POST', 
      url: '/api/Sorting/sortBy', 
      data: sortByModel, 
      headers: { 'Content-Type': 'application/json' } 
     }) 
     .success(function() { 

     }).error(function() { 
     }); 

호출이

를 PCC 할 ... 각 컨트롤러의 .js에서 웹 API를 호출

[ActionName("pcc")] 
public IHttpActionResult Post(PccModel pcc) 
{ 
    return Ok() 
} 

[ActionName("sortBy")] 
public IHttpActionResult PostSortBy(SortByModel sortByModel) 
{ 
      return Ok(); 
} 
} 

파일 sortBy에

전화를 파일

return $http.post('/api/Sorting/pcc', data); 

두 호출 모두 동일한 다중 동작 메서드 오류가 발생합니다.

답변

0

더 많은 정보를 원하시면

 config.Routes.MapHttpRoute(
      name: "DefaultApi", 
      routeTemplate: "api/{controller}/{id}", 
      defaults: new { id = RouteParameter.Optional } 
     ); 

전에 see this

+0

덕분에 많은 사람을

 config.Routes.MapHttpRoute( name: "ApiWithAction", routeTemplate: "api/{controller}/{action}/{id}", defaults: new { id = RouteParameter.Optional } ); 

을 적용! 하루 종일 붙어있었습니다. – micronyks

+0

당신은 환영합니다, 행운을 빌어 요 –

+0

또한 http://stackoverflow.com/a/27227596/4304188에서 MVC의 URL을 하드 코딩하는 것이 왜 나쁜지에 대한 설명을 확인해야합니다. –