直接进入主题
1.导包
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-ribbon</artifactId>
</dependency>
2.新建一个配置类,注册RestTemplate类的bean
@Configuration
public class BeanConfig {
@Bean
@LoadBalanced //ribbon的负载均衡标签,赋予RestTemplate有负债均衡的能力
public RestTemplate restTemplate(){ // SpringMvc提供的一个基于Rest风格的http调用工具
return new RestTemplate();
}
}
3.举controller层里的一个方法示例
@Autowired
private RestTemplate restTemplate;
@GetMapping("user/{id}")
public User getUserById(@PathVariable("id")Long id){
//user-server(服务名):根据服务名获取目标服务的ip:端口(多个)
String url = "http://user-server/userServer/user/"+id;
return restTemplate.getForObject(url, User.class);
}