В файле 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
: что он делает?
Благодарю.
name
присваивает имя маршруту, по которому маршрут может быть идентифицирован в списке маршрутов. Это имя используется в таких функциях, как ApiController.Url.Link
чтобы генерировать ссылки на маршрут, среди прочих.
defaults
позволяет вам указывать значения по умолчанию для таких вещей, как контроллер для сопоставления запроса (если шаблон не задает сегмент {controller}
), действие для вызова, если не указано название соглашения или сегмент {action}
в шаблоне, значения по умолчанию для параметров, и т.п.
Имя маршрута можно использовать для создания отображаемых ссылок по имени. Например, см. UrlHelper.RouteUrl.