在批处理数据加载器中,我正在调用 api 以获取基于项目 id 的一些数据,但我还需要将一些额外的标头传递给数据加载器以调用该 api
public class CustomDataLoader implements BatchLoader<Integer, Content> {
private final RequestProcessor requestProcessor;
@Autowired
public CustomDataLoader(RequestProcessor requestProcessor) {
this.requestProcessor = requestProcessor;
}
@Override
public CompletionStage<List<Content>> load(List<Integer> keys) {
return requestProcessor.processRequest(new ProcessingUnit<>(new CustomRequest(keys)), CustomResponse.class)
.map(customResponse -> customResponse.getBody()
.getResults().getMap().values().stream().collect(Collectors.toList()))
.toFuture();
}
}