我正在使用微服務體系結構構建Rest api。我爲多個項目製作了多個apis用戶。除了我無法將面向用戶的url映射到zuul中的應用程序url之外,我還有其他一切準備就緒。Zuul URL映射與彈簧引導,尤里卡
面向url的用戶是:user/v1/accountholders/{id}/cards,我的應用程序的實際url是/ user-cards/v1/accountholders/{id}/cards。
這裏id是路徑變量。下面是其他類似的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}
需要一些幫助在zuul的屬性或yml文件中進行設置。我還沒有能夠在地圖繪製方面取得任何進展。任何投入都將有所幫助。
解決: - 後正從@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
乍一看,我不認爲你想要的是現在可能的,儘管支持正則表達式映射的請求應該儘快登陸。 https://github.com/spring-cloud/spring-cloud-netflix/pull/699 – spencergibb
你能幫助我的方法,我可以使用我可以玩的應用程序的網址,但不是面向用戶的網址,以便我可以輕鬆執行映射。 –
@spencergibb實際上,這可能是因爲實質上所有可以追溯到支持螞蟻式樣匹配的'AbstractUrlMappingHandler'的子類。 –