Я сделал простой проект с ASP.NET Core 8 в качестве обратного прокси. Я скачал YARP из NUGET и настроил YARP в файле appsettings.json. В чем разница между {**catch-all}, {**remainder} и {**any} в конфигурации пути YARP? Любая помощь будет оценена по достоинству.
Конечно, результат мы также можем получить из этого раздела. Конфигурация Path представляет собой шаблон маршрута ASP.NET Core.
Для сопоставления путей {**catch-all} и {**remainder} и {**any} не имеют никаких различий. Независимо от того, какой путь мы определяем как blog/{**remainder}
, blog/{**catch-all}
или blog/{**any}
, все они будут соответствовать URL-адресу blog/route1/route2
. Единственная разница — это имя переменной: когда мы используем {**remainder}
, мы могли бы сказать, что URL-адрес, который мы сопоставили с remainder
, — это route1/route2
. Если бы мы использовали {**any}
, мы могли бы сказать, что URL-адрес, для которого мы сопоставили any
, — это route1/route2
. Но все будет по-другому, если мы установим путь как {*any}
. Это внесет изменения, мы могли бы сказать, что URL-адрес, который мы сопоставили с any
, равен route1%2Froute2
.
Звездочка * или двойная звездочка **:
Может использоваться как префикс к параметру маршрута для привязки к остальной части URI. Называются всеобъемлющими параметрами. Например, blog/{**slug}: соответствует любому URI, начинающемуся с blog/ и имеющему значение, следующее за ним. Значение, следующее за blog/, присваивается слагу. стоимость маршрута.