Spring Cloud中Feign怎么使用
Feign是一个声明式的Web Service客户端,它使得编写Web Serivce客户端变得更加简单。我们只需要使用Feign来创建一个接口并用注解来配置它既可完成。它具备可插拔的注解特性,可使用Feign 注解和JAX-RS注解。Feign也支持可插拔的编码器和解码器。Spring Cloud为Feign增加了对Spring MVC注解的支持,还整合了Ribbon和Eureka来提供均衡负载的HTTP客户端实现。
使用Feign只需要创建一个接口并使用注解的方式来配置它即可完成。首先,需要创建一个接口并使用@FeignClient注解来指定服务名来绑定服务:
@FeignClient("compute-service")
public interface ComputeClient {
@RequestMapping(method = RequestMethod.GET, value = "/add")
Integer add(@RequestParam(value = "a") Integer a, @RequestParam(value = "b") Integer b);
}
其次,需要在应用主类中加上@EnableFeignClients注解开启Feign的功能:
@SpringBootApplication
@EnableDiscoveryClient
@EnableFeignClients
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
最后,就可以在其他地方注入该接口来使用Feign客户端来调用服务了:
@Autowired
ComputeClient computeClient;
public void add() {
Integer result = computeClient.add(1, 2);
System.out.println(result);
}
Feign还支持可插拔的编码器和解码器,Spring Cloud对Feign进行了封装,使其支持了Spring MVC的注解和HttpMessageConverters。Spring Cloud还为Feign整合了Ribbon和Eureka来提供均衡负载的HTTP客户端实现。
Feign的使用非常简单,只需要创建一个接口并使用注解的方式来配置它即可完成,Spring Cloud为其增加了支持Spring MVC注解的功能,整合了Ribbon和Eureka来提供均衡负载的HTTP客户端实现,使得Feign在微服务架构中变得更加便捷。
相关文章