1、添加依赖
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId>
<version>2.2.5.RELEASE</version>
</dependency>
2、启动类添加@EnableFeignClients注解
3、编写调用不同微服务的接口
@FeignClient(name = "admin",url = "http://localhost:8808/admin")
public interface AdminClient {
@GetMapping("/test1")
Result<List<TestVO>> getTest();
}
4、如果想添加fallback,可以通过接口实现类
@Component
@Slf4j
public class AdminClientFallback implements AdminClient {
@Override
public Result<List<UserListDTO>> getUsers() {
List<UserListDTO> list = new ArrayList<>();
log.error("----->AdminClientFallback getUsers 服务异常,远程接口服务请求异常,请稍后重试");
return Result.success(list, 0);
}
}
@FeignClient(name = "admin" ,fallback = AdminClientFallback.class, url = "http://localhost:8080/admin")
public interface AdminClient {
@GetMapping("/users")
Result<List<UserListDTO>> getUsers();
}
5、接口调用超时配置
feign:
client:
config:
default:
connect-timeout: 20000
read-timeout: 20000