一、添加依赖
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>
二、打开Feign调用
@SpringBootApplication
@EnableDiscoveryClient //开启eureka客户端发现功能
@EnableHystrix //开始hystrix
@EnableFeignClients//开启feign功能
public class ConsumerApplication {
public static void main(String[] args) {
SpringApplication.run(ConsumerApplication.class,args);
}
@Bean
@LoadBalanced//开启Ribbon的负载均衡,调用时,可以通过user-service名字,找到对应的服务。
public RestTemplate restTemplate(){
return new RestTemplate();
}
}
三、添加Feign客户端
主要是封装 服务提供方 user-service 成为 一个feign客户端
import com.wayne.feign.UserClient;
import com.wayne.pojo.User;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping("/cf")
public class ConsumerFeignController {
@Autowired
private UserClient userClient;
@GetMapping("/{id}")
public User queryById(@PathVariable Long id){
return userClient.queryById(id);
}
}
四、测试
1,另外添加一个测试Controller
@RestController
@RequestMapping("/cf")
public class ConsumerFeignController {
@Autowired
private UserClient userClient;
@GetMapping("/{id}")
public User queryById(@PathVariable Long id){
return userClient.queryById(id);
}
}
2,启动浏览器,输入http://localhost:8080/cf/1
浏览器出现