Feign是Netflix开发的声明式、模板化的HTTP客户端, Feign可以帮助我们更快捷、优雅地调用HTTP API。

1、调用方服务创建专门调用的接口,并引入需要调用服务的名称,然后写入调用方的接口名称和参数

@FeignClient(name = "app-cjbdi-member") 
public interface MemberServiceFeign { 

  @RequestMapping(value = "/{id}", method = RequestMethod.GET)
  public User findById(@PathVariable("id") Long id);

}

注:这里建议提取出来做成公共的,进行继承式调用。

2、在调用方和被调用方服务启动类入口添加注解,并配置扫描路径

@EnableDiscoveryClient //让注册中心能够发现这个服务
@EnableFeignClients(basePackages = {"com.cjbdi.order.feign"})//fegin客户端

3、创建控制层调用接口

@RestController
public class MovieController {
  @Autowired
  private MemberServiceFeign memberServiceFeign;
 
  @GetMapping("/user/{id}")
  public User findById(@PathVariable Long id) {
    return this.memberServiceFeign.findById(id);
  }
}