Не удалось попасть в Web Api в .Net MVC

Привет, я только начинаю возиться с WebApi, чтобы настроить API REST для моего углового приложения.

Я просто добавил «Контроллер веб-API 2 с действиями чтения/записи»

Затем я просто пытаюсь проверить это, просто набрав URL-адрес в браузере, но получаю 404.

Все довольно нестандартно.

WebApiConfig.cs выглядит так

    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 }
        );
    }
}

RouteConfig.cs — это

    public class RouteConfig
{
    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 }
        );
    }
}

Global.asax

        protected void Application_Start()
    {
        AreaRegistration.RegisterAllAreas();
        FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
        RouteConfig.RegisterRoutes(RouteTable.Routes);
        BundleConfig.RegisterBundles(BundleTable.Bundles);
        GlobalConfiguration.Configure(WebApiConfig.Register);

        InitializeDatabase("Data Source=.;Initial Catalog=msproto;Integrated Security=True;MultipleActiveResultSets=True;");
    }

Есть ли что-то, что я должен добавить в веб-конфигурацию? Если я добавлю обычный контроллер «Контроллер MVC 5 с действиями чтения/записи», он столкнется с моими точками останова в запросах на получение.


person atsituab    schedule 27.10.2015    source источник
comment
В каком порядке они выполняются в global.asax? Сначала маршруты веб-API или сначала маршруты MVC?   -  person adam0101    schedule 27.10.2015
comment
о .. я на самом деле даже не вижу, чтобы конфигурация webapi вызывалась вообще. Как мне это зарегистрировать? (извините, я js-разработчик!)   -  person atsituab    schedule 27.10.2015
comment
Я обновил свой пост и добавил глобальный asax, я добавил GlobalConfiguration... но все еще не работает   -  person atsituab    schedule 27.10.2015
comment
nm Я понял ваш комментарий и решил, что, вероятно, мне следует переместить его наверх. похоже, теперь он работает!   -  person atsituab    schedule 27.10.2015


Ответы (1)


Убедитесь, что маршруты веб-API зарегистрированы до маршрутов MVC в файле Global.asax.

person adam0101    schedule 27.10.2015