SpringCloud 中 RestTemplate的基本使用

  1. 将RestTemolate交给Spring管理

    @Configuration
    public class BeanConfig {
    
        @Bean
        @LoadBalanced
        public RestTemplate getRestTemplate(){
            return new RestTemplate();
        }
    }
    
  2. 使用

    @Autowired
    private RestTemplate restTemplate;
    
    public Object service3() {
    	//获取服务信息
        ServiceInstance myClient = loadBalancerClient.choose("MyClient");
        //获取服务IP
        String host = myClient.getHost();
        //获取服务端口
        int port = myClient.getPort();
    
    	//构建URL
    	String url1 = "http://" + host + ":" + port + "/hello";
    	//返回结果值
    	String forObject = restTemplate.getForObject(url1, String.class);
    	System.out.println(forObject);
    
    	//myclient是application-name,在url中小写
        String url2 = "http://myclient/hello";  
        //返回结果对象
    	ResponseEntity<String> forEntity = restTemplate.getForEntity(url2, String.class);
    	System.out.println(forEntity.getBody());
    
        return "service3: " + forObject;
    }
    
posted @ 2022-03-07 18:04  叕叕666  阅读(47)  评论(0)    收藏  举报