Feign组件详解

简述

  Feign是Netflflix开发的声明式,模板化的HTTP客户端,Feign可帮助我们更加便捷,优雅的调用HTTP API。SpringCloud对Feign进行了增强,使Feign支持了SpringMVC注解,并整合了Ribbon和Eureka,从而让Feign的使用更加方便。

Feign的基本使用

依赖

<dependency>
 <groupId>org.springframework.cloud</groupId>
 <artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>

启动类添加Feign的支持

  在springboot启动类上添加@EnableFeignClients注解

启动类激活FeignClient 

  创建一个Feign接口,此接口是在Feign中调用微服务的核心接口
//声明需要调用的微服务名称
@FeignClient("service-product")
public interface ProductFeignClient {
    /**
     * 配置需要调用的微服务接口
     */
    @RequestMapping(value = "product/{id}",method = RequestMethod.GET)
    public Product findById(@PathVariable("id") Long id);
}

服务消费者调用Feign

  消费者的展示层即可注入Feign接口并使用该接口完成服务调用

@Autowired
    private ProductFeignClient productFeignClient;


    @RequestMapping(value = "/buy/{id}",method = RequestMethod.GET)
    public Product findById(@PathVariable Long id){
        //基于Feign组件调用远程微服务
        Product product = null;
        product = productFeignClient.findById(id);
        return product;
    }

 

 

 

posted @ 2021-07-31 13:02  艾尔夏尔-Layton  阅读(166)  评论(0编辑  收藏  举报