服务列表是在eureka的客户端中获取的
(1)在配置文件application.yml设置erueka的信息
eureka:
instance:
prefer-ip-address: true # 注册服务的时候使用服务的ip地址
client:
service-url:
defaultZone: http://localhost:8761/eureka/
(2)Controller
package com.googosoft.instances.controller; import java.util.ArrayList; import java.util.List; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.cloud.client.ServiceInstance; import org.springframework.cloud.client.discovery.DiscoveryClient; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.bind.annotation.RestController; @RestController public class TestController { @Autowired private DiscoveryClient discoveryClient; @RequestMapping("getServicesList") @ResponseBody public Object getServicesList() { List<List<ServiceInstance>> servicesList = new ArrayList<>(); //获取服务名称 List<String> serviceNames = discoveryClient.getServices(); for (String serviceName : serviceNames) { //获取服务中的实例列表 List<ServiceInstance> serviceInstances = discoveryClient.getInstances(serviceName); servicesList.add(serviceInstances); } return servicesList; } }
(2)访问