Назначение «name» и «defaults» в config.Routes.MapHttpRoute

1

В файле global.asax меня есть что-то вроде этого:

void Application_Start(object sender, EventArgs e)
{
    GlobalConfiguration.Configure(WebApiConfig.Register);
}

У меня есть другой файл, который имеет этот код:

using System.Web.Http;

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

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

Документ не очень описательный характер. Какова цель свойства name? Где еще он используется? И то же самое для свойства defaults: что он делает?

Благодарю.

Теги:
asp.net-web-api

2 ответа

4
Лучший ответ

name присваивает имя маршруту, по которому маршрут может быть идентифицирован в списке маршрутов. Это имя используется в таких функциях, как ApiController.Url.Link чтобы генерировать ссылки на маршрут, среди прочих.

defaults позволяет вам указывать значения по умолчанию для таких вещей, как контроллер для сопоставления запроса (если шаблон не задает сегмент {controller}), действие для вызова, если не указано название соглашения или сегмент {action} в шаблоне, значения по умолчанию для параметров, и т.п.

0

Имя маршрута можно использовать для создания отображаемых ссылок по имени. Например, см. UrlHelper.RouteUrl.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню