如何获取 Spring Eureka 服务的 URL?

问题描述

我有一个带有 HTML UI 的 Spring Web 应用程序。应用程序注册为 Eureka 服务,名为 ui-service

HTML 页面上的 JavaScript 需要对另一个同样注册了 Eureka 服务的 Spring 应用程序进行跨站点调用,名为 rest-service

我不想在 JavaScript 中将 URL 硬编码到 rest-service。相反,我希望我的 ui-servicerest-service URL 返回给 JavaScript。

如何使用 rest-service 中的 Java / Spring 代码获取 ui-service 的 URL?我可以从 RestTemplate 那里得到吗?

解决方法

使用 EurekaClient 获取 URL,然后像普通属性一样将其传递给 UI(我希望您使用 Spring mvc)

//@version=4
study("Time Offset Calculation Framework - PineCoders FAQ","",true,max_lines_count = 10)

// ———————————————————— Functions.
// ————— Converts current chart resolution into a float minutes value.
f_resInMinutes() => 
    _resInMinutes = timeframe.multiplier * (
      timeframe.isseconds ? 1. / 60             :
      timeframe.isminutes ? 1.                  :
      timeframe.isdaily   ? 60. * 24            :
      timeframe.isweekly  ? 60. * 24 * 7        :
      timeframe.ismonthly ? 60. * 24 * 30.4375  : na)

var float resInMinutes        = f_resInMinutes()
var float resInSeconds        = resInMinutes * 60
var float resInMilliSeconds   = resInSeconds * 1000

// Plot chart interval in minutes in Data Window.
plotchar(resInMinutes,"resInMinutes",location.top,size = size.tiny)
plotchar(resInSeconds,"resInSeconds",size = size.tiny)
plotchar(resInMilliSeconds,"resInMilliSeconds",size = size.tiny)

Time Offset Calculation Framework - PineCoders FAQ