Feign通信是服务器之间相互调用,Feign是一个组件,多个项目之间进行相互通信
使用Feign组件需要导入相应的依赖并在主程序运行类中开启Feign,@EnableFeignClients开启Feign
首先开启Feign的契约,契约不可被Spring Boot扫描到
@Configuration
public class FeignConfiguration {
@Bean
public Contract feignContract(){
return new feign.Contract.Default();
}
}
日志配置放在平常Config包下就好
@Configuration
public class FeignLogConfiguration {
@Bean
public Logger.Level feignLogger(){
return Logger.Level.FULL;
}
}
yml下进行配置
logging:
level:
com.bdqn: debug
创建一个Service因为都习惯了controller调用service,service调dao并增加注释
@FeignClient(value = “my-system”,configuration = FeignConfiguration.class),value代表别的程序应用名,如果打印日志并配契约的话加value后面的
@FeignClient(value = "my-system",configuration = FeignConfiguration.class)
public interface SystemFeignClient {
这个Feign的一种注解(前方加上提交方式,后面是另一个应用程序接口名)
@RequestLine("GET user/findByid/{id}")
User getUser1(@Param("id") Integer id);
}
在相应的Controller中注入Service
@Autowired
private SystemFeignClient systemFeignClient;
并实现代码
@RequestMapping("bus/{id}")
public User testFeign(@PathVariable("id")Integer id){
User user = systemFeignClient.getUser1(id);
return user;
}