Использование замены маркера для уменьшения дублирования при маршрутизации на основе атрибутов¶
Маршруты атрибутов поддерживают автоматическую замену маркеров [action] и [controller] в маршрутах атрибутов. Они будут заменены именами действия и контроллера (без суффикса “Controller”) соответственно.
Маркеры заменяются после объединения всех атрибутов, поэтому это полезно, если у вас есть иерархии наследования контроллеров.
[Route("api/[controller]")]
public abstract class BaseController { }
//Для этого контроллера [controller] заменится на car
public class CarController : BaseController
{
[Route("[action]")]
[Route("ignition")]
[Route("/start-car")]
public IActionResult Start()
{
/*реализация*/
}
}
Однако нужно помнить, что при использовании замены для маркеров
[action] и [controller] переименование классов и методов (например, при рефакторинге) приведет к изменению открытого API.
Последнее обновление :
21 апреля 2023 г.
Дата создания : 28 сентября 2022 г.
Дата создания : 28 сентября 2022 г.