Настройка шаблона маршрута WebAPI

Я пытаюсь выяснить, возможно ли изменить формат routeTemplate WebAPI.

В настоящее время по умолчанию установлено значение api/{controller}/{id}.

Я хочу знать, можно ли изменить часть «api», чтобы сказать что-то еще, чтобы формат был примерно таким

myapi/{controller}/{id}

Я изменил его в файле global.asax.cs, но когда я создаю проект, чтобы загрузить службу, мне по-прежнему требуется перейти к /api/ вместо того, что я поместил на его место.

Заранее спасибо :)


person sanpaco    schedule 25.10.2012    source источник


Ответы (1)


Вы используете RTM-версию MVC 4?

Причина, по которой я спрашиваю, заключается в том, что в RTM маршрут HTTP находится в App_Start\WebApiConfig.cs, и, да, изменение маршрута с «api» на «myapi» здесь должно работать.

public static class WebApiConfig
{
    public static void Register(HttpConfiguration config)
    {
        config.Routes.MapHttpRoute(
            name: "DefaultApi",
            routeTemplate: "api/{controller}/{id}",
            defaults: new { id = RouteParameter.Optional }
        );
    }
}
person Maggie Ying    schedule 25.10.2012
comment
Спасибо, я не знал, что маршрут был прописан в этом файле. Я добавил его в Global.asax на основе учебника, который, по-видимому, устарел. Таким образом, метод, над которым я работал, по-видимому, на самом деле ничего не делает, и правильное место для настройки маршрута находится в конфигурационном файле App_Start. Большое спасибо, все работает так, как я и ожидал. - person sanpaco; 25.10.2012