首页 > 解决方案 > 使用 FeignClient 从外部服务获取数据

问题描述

我正在尝试从外部服务获取数据并将其放入数据库。

@FeignClient(value = "name-feign", url = "http://localhost:8081")
public interface Client{

    @PostMapping("/Efforts")
    List<EffortsResponse> getAllEfforts();

}

我在我的应用程序上添加了 @EnableFeignClients 注释。我知道假客户做什么。

最好的方法是什么?

标签: spring-bootspring-cloudspring-cloud-feign

解决方案


您可以将feign clientandrepository注入service.

应该有这样的方法service

@Service
public class Service {
  private final Client client;
  private final Repository repository;

  public Service(Client c, Repository r) {
    this.client = c;
    this.repository = r;
  }

  public yourMethod() {
    List<EffortsResponse> items = client.getAllEfforts();
    //some transformation: items => entities
    respository.saveAll(entities);
  }
}

推荐阅读