在controller添加代碼
@Autowired private EurekaClient eurekaClient; @GetMapping("getUrl0") public String serviceUrl2() { InstanceInfo instance = eurekaClient.getNextServerFromEureka("TEST001", false); return instance.getHomePageUrl(); }
或者
@Autowired private DiscoveryClient discoveryClient; @GetMapping("getUrl") public String serviceUrl() { List<ServiceInstance> list = discoveryClient.getInstances("TEST001"); if (list != null && list.size() > 0 ) { return list.get(0).getUri().toString(); } return null; }
通過url查看爲:
展示的爲:http://LAPTOP-DPI1U1CG:8081/
如果需要展示ip需要再yml添加配置:
重啓註冊中心eureka再次訪問可出現ip地址:
還有一種方式
@GetMapping("getUrl2") public ServiceInstance serviceUrl2() { ServiceInstance serviceInstance = discoveryClient.getLocalServiceInstance(); return serviceInstance; }
展示效果
{"host":"192.168.2.101","port":8081,"metadata":{},"serviceId":"test001","uri":"http://192.168.2.101:8081","secure":false}