RestTempale推薦使用方法

第三种方式 (推荐)

import org.springframework.cloud.client.loadbalancer.LoadBalanced;
import org.springframework.context.annotation.Bean;
import org.springframework.stereotype.Component;
import org.springframework.web.client.RestTemplate;

@Component
public class RestTemplateConfig {

    @Bean
    @LoadBalanced //添加该注解,可以直接通过服务名找到对应的IP地址
    public RestTemplate restTemplate() {

        return new RestTemplate();
    }
}
    @Autowired
    private RestTemplate restTemplate;
    
    @GetMapping("/RibbonServer/3")
    public Map getRibbonServer3() {

        String requestMsg = "方式三 GET 请求 RibbonServer";
        Map response = restTemplate.getForObject("http://RIBBON-SERVER/RibbonServer/RibbonTest?requestMsg=" + requestMsg, Map.class);
        log.info("response={}", response);
        return response;
    }
    
    @PostMapping("/RibbonServer/3")
    public Map postRibbonServer3() {

        String requestMsg = "方式三 POST 请求 RibbonServer";
        Map response = restTemplate.postForObject("http://RIBBON-SERVER/RibbonServer/RibbonTest", getRequestParam(requestMsg), Map.class);
        log.info("response={}", response);
        return response;
    }

利用 @LoadBalanced,可在 RestTemplate 里面直接使用应用名字



作者:主打情歌
链接:https://www.jianshu.com/p/b64451435126
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
posted @ 2020-08-31 15:36  jack-jin  阅读(166)  评论(0)    收藏  举报