Feign通过接口中的方法调用Rest服务,请求发送给 Eureka 服务器,通过Feign直接找到服务接口 ,因为集成了 Ribbon 技术,Feign 自带负载均衡配置功能。

  1. 启动类添加@EnableFeignClients注解,Spring会扫描标记了@FeignClient注解的接口,并生成此接口的代理对象。
  2. @FeignClient("服务名称 ") 即指定了服务名称,Feign会从Eureka注册中心获取对应服务名称的服务列表,并通过负载均衡算法进行服务调用。
  3. 在接口方法中使用注解@RequestMapping(value ="/xxx/xxx",method = RequestMethod.GET),指定调用的url,Feign 会根据url进行远程调用。

SpringCloud对Feign进行了增强并兼容了SpringMVC的注解,我们在使用SpringMVC的注解时需要注意:

  1. @FeignClient接口方法有基本类型参数在参数前必须加@PathVariable("XXX") 或 @RequestParam("XXX")
  2. @FeignClient接口方法返回值为复杂对象时,此类型必须有无参构造方法。

Q.E.D.


擅长前端的Java程序员