Выбор сервиса

Относительный URL сервиса может состоять из нескольких сегментов. Это может быть полезно в сценариях, когда требуется одновременная работа с разными версиями сервиса. Например, MyService/v1, MyService/v2 указывают на разные версии сервиса, а просто MyService настроен на редирект на последнюю версию.

При выборе сервиса работает с частью URL:

{КорневойURLСервиса}/{ПутьКРесурсу}
http://myserver:9090/applications/tasks/api/myservice/myMethod?param1=value1

При этом на этапе выбора сервиса эта часть представлена в виде единого набора сегментов

{Сегмент1}/{Сегмент2}/.../{СегментN}

не знает, где проходит граница между относительным URL сервиса и путем к ресурсу. В процессе выбора сервиса она сопоставляет относительный URL каждого сервиса с начальными сегментами части URL.

При этом возможны неоднозначности — например, /MyService/v1 можно сопоставить с /MyService и /MyService/v1. Чтобы устранить неоднозначность, всегда ищется соответствие с максимальным количеством сегментов.

Сопоставление сервиса делается без учета регистра, таким образом, корневой URL сервиса является регистронезависимым.