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);
}
}