RestTemplate

使用方式
1.直接使用restTemplate,url固定
RestTemplate restTemplate = new TestTemplate();
String response = restTemplate.getForObject(“地址”,返回结果类型.class);

地址可能不唯一,也可能是多个 所以
2.地址不确定 那我就动态获取地址(利用LoadBalancerClient获取url),然后使用restTemplate
SpringCloud中提供了一个LoadBalancerClient

@Autowired
private LoadBalancerClient loadBalancerClient;

ServiceInstance serviceInstance = loadBalancerClient.choose(“服务名”);
String url = String.format(“http://%s:%s”,serviceInstance.getHost(),serviceInstance.getPort()) + “/msg”;
RestTemplate restTemplate = new TestTemplate();
String response = restTemplate.getForObject(url,返回结果类型.class);

代码量太多
3.利用注解LoadBalanced,可在restTemplate里使用应用名字 添加此注解可以为RestTemplate整合Ribbon,使其具备负载均衡的能力
新建包config
@Component
public class RestTemplateConfig{
@Bean
@LoadBalanced
public RestTemplate restTemplate(){
return new RestTemplate();
}
}

控制器使用
@Autowired
private RestTemplate restTemplate;

restTemplate.getForObject(“http://应用名/msg”,返回结果类型.class);

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值