使用FeignClient从外部服务获取数据

Using FeignClient to get data from external service

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

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

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

}

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

最好的方法是什么?

您可以将 feign clientrepository 注入 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);
  }
}