Жадный сегмент с .NET MVC 5 Маршрутизация атрибутов
Я хотел бы определить маршрут следующим образом:
[Route("clients/{*code}/{id:guid}/update")]
public ActionResult Update(string code, Guid id)
{
}
Код будет чем-то вроде "foo/bar/xyz".
К сожалению, готовый MVC не поддерживает жадные параметры в середине определения маршрута.
Ранее это было используя старые правила маршрутизации MVC, однако я хотел бы иметь это как определение RouteAtribute.
Ответы
Ответ 1
Насколько я знаю, вы не можете сделать это напрямую. Тем не менее, вы должны иметь возможность использовать модуль IIS UrlRewrite и переписать запрос с жадным параметром посередине на один с жадным параметром в конце.
Таким образом, клиентские запросы: clients/{*code}/{id:guid}/update
и ваш веб-api видит clients/{id:guid}/update/{*code}
Ответ 2
Из того, что я могу сказать, нет никакого внекорпоративного способа сделать это иначе, чем использовать собственный код, например this пример. Надеюсь, что это поможет.