Я создаю Rest api с использованием микросервисной архитектуры. У меня есть несколько API для пользователей, которые мы превратили в несколько проектов. У меня все готово, за исключением того, что я не могу сопоставить URL-адрес пользователя с URL-адресом приложения в zuul.
URL-адрес пользователя: user / v1 / accountholder / {id} / cards, а фактический URL-адрес для моего приложения: / user-cards / v1 / accountholder / {id} / cards.
Здесь id - это переменная пути. Ниже приведены другие похожие URL-адреса API, поэтому, если есть способ настроить их в целом в zuul. Корень контекста URL-адреса приложения также является именем проекта в Eureka.
Other similar urls are:
client side:- /user/v1/accountholders/{id}/cards/{cardid}
application:- /user-cards/v1/accountholders/{id}/cards/{cardid}
client side:- /user/v1/accountholders
application:- /user-cardholder/v1/accountholder
client side:- /user/v1/accountholders
application:- /user-cardholder/v1/accountholder
client side:- /user/v1/accountholders/{id}
application:- /user-cardholder/v1/accountholders/{id}
client side:- /user/v1/accountholders/{id}/accounts
application:- /user-accounts/v1/accountholders/{id}/accounts
client side:- /user/v1/accountholders/{id}/accounts/{accid}
application:- /user-accounts/v1/accountholders/{id}/accounts/{accid}
Нужна помощь, чтобы настроить это в свойствах или файле yml для zuul. Я пока не смог добиться какого-либо прогресса с картографированием. Любые комментарии будут полезны.
РЕШЕНО: - После получения ввода от @Daniel (который является принятым ответом) Это то, что я использовал в конфигурации zuul: -
zuul:
routes:
User-Cards:
path: /user/v1/accountholders/*/cards/**
url: http://desktop-uvkv1ed:9999/user-cards/v1/accountholders
User-Transactions1:
path: /user/v1/accountholders/*/transactions
url: http://desktop-uvkv1ed:5555/user-transactions/v1/accountholders
service-id: User-Transactions
User-Transactions2:
path: /user/v1/accountholders/*/accounts/*/transactions
url: http://desktop-uvkv1ed:5555/user-transactions/v1/accountholders
service-id: User-Transactions
User-Accounts:
path: /user/v1/accountholders/*/accounts/**
url: http://desktop-uvkv1ed:7777/user-accounts/v1/accountholders
User-Cardholders:
path: /user/v1/accountholders/**
url: http://desktop-uvkv1ed:8888/user-cardholders/v1/accountholders
AbstractUrlMappingHandler
, который поддерживает сопоставление с образцом в стиле муравьев. - person daniel.eichten   schedule 17.12.2015