默认集成了Ribbon,实现了客户端负载均衡。
使用步骤:
- 编写接口,接口上使用注解标注出调用的微服务名
@FeignClient(value = "microservice-product") //指定调用的微服务名称spring.application.name
- 启动类上开启feign调用,并指定接口所在的包:
@EnableFeignClients(basePackages = "xin.jiangqiang.springcloud.service")
Feign 注意事项
SpringCloud对Feign进行了增强兼容了SpringMVC的注解,我们在使用SpringMVC的注解时需要注意:
- @FeignClient接口方法有基本类型参数在参数必须加@PathVariable("XXX") 或 @RequestParam("XXX")
- @FeignClient接口方法返回值为复杂对象时,此类型必须有无参构造方法。