2017-08-11 103 views
0

定製Zuul URL端點服務我有一組微服務的,稱爲「客戶端 - 美孚」,其中foo是一些特定的第三方客戶端的名稱。在JHipster

使用那些名字,是創造一些真正醜陋的端點的網址,所以我想將它們轉換成更加美好層級形式。

我添加了一個自定義PatternServiceRouteMapper,將serviceId client-Foo並將其轉換爲url client/Foo

這給出了我想要的url,但也打破了服務映射,因爲它更改註冊serviceId client/Foo;因此,當Zuul去路由它失敗,因爲有沒有client/Foo服務,它的ID是client-Foo

,因爲應用程序需要不同的「客戶端 - *」服務的任意數目我不能硬編碼的任何路徑。

回答

0

通過查看ZuulProxyAutoConfiguration,您可以看到您可以替換一些bean來實現您的目標,特別是您應該考慮提供自己的接口實現RouteLocator接口或擴展DiscoveryClientRouteLocator類。 您的服務實例還可以在Eureka服務器中註冊您的RouteLocator可以使用的metadataMap中的其他數據。

0

我只想補充的配置定義Zuul路線:

zuul: 
    routes: 
     client-foo: /foo/** 

此外,我會建議對具有在服務ID的破折號,因爲它可以混淆配置服務器API(中/配置/富矚目.yml其中profile是您希望獲取配置的彈簧配置文件)。

+0

在配置文件中配置每個路由手冊是一個不行。 – ThisIsNoZaku