Как построить многоуровневую маршрутизацию с обратным расположением параметров?

#c# #asp.net-core

#c# #asp.net-core

Вопрос:

На данный момент я использую .NET Core и имею пользовательскую маршрутизацию. Мой метод контроллера DeliveriesController . Я создаю свой URL-адрес так, чтобы пуля была в строке запроса: http://localhost:45778/deliveries/mcdonald . Чтобы эта конечная точка была доступна, мне пришлось добавить конечную точку в Startup.cs

 endpoints.MapControllerRoute(name: "deliveries",
                                 pattern: "deliveries/{*slug}",
                                 defaults: new { controller = "Deliveries", action = "Index" });
  

Я добавил еще одно действие к своему контроллеру

 public async Task<IActionResult> Menu(string slug)
{
    // ...
}
  

Я хотел бы получить доступ к этому представлению действий Controller/Slug/Menu . Я могу получить к нему доступ через Controller/Menu/Slug . Как настроить маршрутизацию, чтобы я мог получить доступ к действию меню с параметром перед ним? Например http://localhost:45778/deliveries/mcdonald/menu

Комментарии:

1. pattern: "deliveries/{slug}/{action=Index}", defaults: new { controller = "Deliveries" }

2. @vasily.sib СПАСИБО!