開始吧
對於注冊到eureka里面的微服務,可以通過服務發現來獲得該服務的信息
1、 修改cloud-provider-payment8001的controller
添加一個接口用於訪問:服務發現
// 兩種方式獲取Eureka中注冊的服務有啥內容
@GetMapping(value = "/payment/discovery")
public Object discovery(){
// 第一種方式:獲取所有服務
List<String> services = discoveryClient.getServices();
// 遍歷每一個服務
for (String service : services) {
log.info("*****service: " + service);
}
// 第二種方式:獲取鍵名下的所有服務
List<ServiceInstance> instances = discoveryClient.getInstances("CLOUD-ORDER-SERVICE");
// 遍歷每一個服務
for(ServiceInstance serviceInstance:instances){
log.info(serviceInstance.getServiceId() + "\t" + serviceInstance.getHost()
+ "\t" + serviceInstance.getPort() + "\t" + serviceInstance.getUri());
}
return this.discoveryClient;
}
2、 主啟動類上加上@EnableDiscoveryClient注解
@SpringBootApplication
@EnableEurekaClient //Eureka客戶端
@EnableDiscoveryClient //啟動服務發現
public class PaymentMain8001 {
public static void main(String[] args) {
SpringApplication.run(PaymentMain8001.class, args);
}
}