2016-04-26 1 views
0

Я пытаюсь разработать проект webapi+angularjs+mvc .Здесь вы можете увидеть мои apicontrollerКонтроллер апи в MVC не может быть найден

public class DefaultController : ApiController 
    { 
     testDBEntities a = new testDBEntities(); 

     public IEnumerable<City> Get() 
     { 
      return a.Cities; 
     } 
    } 

Здесь вы можете увидеть webapiconfig

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

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

     } 
    } 

Но когда i введите это: localhost:5411/api/default

Я получил эту ошибку:

The resource cannot be found. 

Description: HTTP 404. The resource you are looking for (or one of its dependencies) could have been removed, had its name changed, or is temporarily unavailable. Please review the following URL and make sure that it is spelled correctly. 

Requested URL: /api/default 
+0

Какую версию WebAPI вы используете? –

+0

@AlexArt. как я могу найти версию? –

+0

Всегда используйте {действие} в вашем маршруте маршрута, например - routeTemplate: "api/{controller}/{action}/{id}". Это связано с тем, что если вы не указали {действие}, вы не можете иметь несколько методов get в своем контроллере –

ответ

2

Добавьте строку

GlobalConfiguration.Configure(WebApiConfig.Register) in your Global.asax.cs file 

И это будет регистрировать WebAPI маршруты

+0

WebApi вместо 'global.asax.cs' –

+0

@Alex при создании нового проекта, когда выбраны только mvc и webapi, добавляется только global.asax, а не Startup.cs –

+0

@AlexArt. Я не могу найти GlobalConfiguration.Configure (WebApiConfig.Register) в startup.cs –

Смежные вопросы