0

잘 작동하는 C# ASP.net MVC5 인터넷 응용 프로그램을 코딩했으며 Person 모델을 사용하여 CRUD 작업을 수행 할 수 있습니다.WebAPI2 및 MVC5 경로 구성

엔티티 프레임 워크를 사용하지만 WebAPI 컨트롤러 메서드를 탐색 할 때 오류가 발생하는 WebAPI2 컨트롤러를 추가했습니다.

WebAPI2 컨트롤러는 PersonAPIController입니다. Getpeople 방법은 방법 위의 // GET api/PersonAPI 의견을 가지고,이 방법으로 검색 할 때, 나는이 오류가 무엇입니까 아직 :

The resource cannot be found.

를이 라우팅 문제인가?

저는 RouteConfigWebApiConfig입니다. 이 두 구성을 결합해야합니까?

protected void Application_Start() 
{ 
    AreaRegistration.RegisterAllAreas(); 
    RouteConfig.RegisterRoutes(RouteTable.Routes); 
} 

WebApiConfig.Register()을합니까 : 현재

public static void Register(HttpConfiguration config) 
{ 
    config.MapHttpAttributeRoutes(); 

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

, 이것은 내 Application_Start 방법 :

여기
public static void RegisterRoutes(RouteCollection routes) 
{ 
    routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); 

    routes.MapRoute(
     name: "Default", 
     url: "{controller}/{action}/{id}", 
     defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional } 
    ); 
} 

WebApiConfig의 내용입니다 : 여기

RouteConfig의 내용입니다 코드 줄을 추가해야합니다. RouteConfig.RegisterRoutes(RouteTable.Routes) 전에?

그렇다면 WebApiConfig.Register() 방법에 추가해야하는 매개 변수는 무엇입니까? 사전

여기에 편집

에서

덕분에 정확한 코드를 사용하는 것입니다

GlobalConfiguration.Configure(WebApiConfig.Register); 

답변

1

가 그 RegisterRoutes(RouteCollection routes) 전에 Register(HttpConfiguration config)를 호출해야합니다. 시퀀스가 중요합니다.

+0

감사합니다, 내가 찾은 올바른 코드를 사용합니다. – user2985419

0

전화/API/personapi보다는/API/personapi/getpeople

관련 문제