2013-03-08 5 views
0

MVC 프로젝트에 웹 API 컨트롤러를 추가하려고합니다. MVC 3으로 MVC 4로 업그레이드했습니다. "테스트"간단한 api 컨트롤러를 작동시키고 현재 404를 얻으려고합니다.404 웹 API 끝점을 사용하려고합니다.

필요한 패키지를 모두 추가했습니다. 내 글로벌 위해 Application_Start() 내 webapi의 설정을 추가했습니다 :

RegisterGlobalFilters(GlobalFilters.Filters); 
RegisterRoutes(RouteTable.Routes); 
WebApiConfig.Register(GlobalConfiguration.Configuration); // Web API 

이 다음 호출 내 정적 등록 방법 :

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

나는 ApiController 내 웹 응용 프로그램에서 정의한 :

public class SitechangesController : ApiController 
    { 
     /// GET api/default1 
     public IEnumerable<string> Get() 
     { 
      return new string[] { "value1", "value2" }; 
     } 

그리고 마지막으로 로컬 호스트를 구성하고 로컬 호스트 http://localhost/api/Sitechanges에서 내 사이트를 탐색하면 404가 표시됩니다.

파일/새 프로젝트를 만들고 처음부터 웹 API 프로젝트를 만드는 경우 이러한 문제가 발생하지 않습니다. 누구든지 도와 줄 수 있습니까?

감사

매트

답변

0

그것을 해결합니다 "정상"경로 전에 웹 API를 설정을 추가하는 것 같다!

WebApiConfig.Register(GlobalConfiguration.Configuration); // Moved to the top 
RegisterGlobalFilters(GlobalFilters.Filters); 
RegisterRoutes(RouteTable.Routes); 
0

컨트롤러는 ...Controller.cs으로 끝나야합니다.

예를 들어

:

Test.csTestControllerV2.cs이 404
TestController.csTestV2Controller.cs 나는 당신이하는 볼 (200)

를 반환합니다 반환하지만 404가 반환 한 이유를 검색 할 때 나는 귀하의 게시물을 가로 질러왔다 .

관련 문제