I`ve получил такое API конфигурации в WSO2ESB:WSO2ESB REST API приоритет ресурс
<api xmlns="http://ws.apache.org/ns/synapse" name="b2e_rmq_getmessage" context="/b2e_rmq_getmessage">
<resource methods="GET" uri-template="/tenants/{tenantid}/exchanges/{exchangeid}/keys/{keyid}/message*">
<resource methods="GET" uri-template="/tenants/{tenantid}/exchanges/{exchangeid}/keys*">
<resource methods="GET" uri-template="/tenants/{tenantid}/exchanges*">
<resource methods="GET" uri-template="/tenants*">
</api>
Проблема заключается в том, что его не видно, как маршрутизация сообщений в этом коде. Они даже маршрутизируются случайным образом, и этот случайный порядок кэшируется. Например, если я сохраню этот API и назову его вторым (ключ *), он может назвать 4-й (арендатор *) вариант.
Но тогда я открываю API-конфигурацию и сохраняю его снова - я вызываю его со второй (клавишей *) опцией, он может вызывать 3-е (замена *).
Мои эксперименты показали, что порядок написания кода не имеет значения.
Как я мог сделать обработку приоритетов для этого случая? Моя цель - перейти к более сложному ури, если несколько ури соответствуют условию.
Обратите внимание, что я не могу избавиться от подстановочных знаков в конце адресов, чтобы иметь возможность использовать параметры отдыха. Также я не могу изменить URI-шаблоны, потому что это ресурсо-ориентированная модель.