Свойство Name
используется для Url Generation . Это не имеет ничего общего с маршрутизацией! Вы можете пропустить его почти все время.
Добавьте следующий код к контроллеру, и вы получите «Aha!»:
[HttpGet("qqq", Name = "xxx")]
public string yyy()
{
return "This is the action yyy";
}
[HttpGet("test")]
public string test()
{
var url = Url.Link("xxx", null); //Mine is https://localhost:44384/api/qqq
return $"The url of Route Name xxx is {url}";
}
Свойство Name
в первом действиикогда используется, например, для генерации URL, просто используется для ссылки на действие yyy
. В моем случае вызов /api/test
возвращает строку The url of Route Name xxx is https://localhost:44384/api/qqq
.
Действие yyy
достижимо по маршруту .../qqq
, первый параметр, переданный HttpGet
конструктор атрибута.