123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- package com.sf.eurekaclientdemo1.controller;
- 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.GetMapping;
- import org.springframework.web.bind.annotation.RestController;
- import org.springframework.web.client.RestTemplate;
- import java.net.URI;
- import java.net.http.HttpClient;
- import java.net.http.HttpRequest;
- import java.net.http.HttpResponse;
- import java.time.Duration;
- import java.util.List;
- @RestController
- public class ClientController {
- @Autowired
- private RestTemplate restTemplate;
- @Autowired
- private DiscoveryClient discoveryClient;
- // http://localhost:18091/clientDemo1
- @GetMapping("/clientDemo1")
- public String handler() throws Exception {
- // 要访问的 http://localhost:18092/clientDemo2
- // String result = restTemplate.getForObject("http://localhost:18092/clientDemo2", String.class);
- // 通过服务名 完成服务调用
- String result = restTemplate.getForObject("http://eureka-client-demo-2/clientDemo2", String.class);
- // eureka-client-demo-2 localhost:18092
- // eureka-client-demo-2 localhost:18093
- List<String> services = discoveryClient.getServices();
- for (String service : services) {
- System.out.println(service);
- }
- // 实例 集群中的实例 一个可以被访问的进程 192.168.1.10:18091 192.168.1.11:18091
- List<ServiceInstance> instances = discoveryClient.getInstances("eureka-client-demo-2");
- for (ServiceInstance instance : instances) {
- System.out.println(instance.getServiceId());
- System.out.println(instance.getHost());
- System.out.println(instance.getPort());
- System.out.println(instance.getUri());
- }
- String data = "client demo 1 success";
- return data + " " + result;
- }
- }
|