Тут я вижу два варианта.
1. Вы никакой асинхронщины не хотите, но вам попался асинхронный клиент. Тогда нужно что-то типа такого сделать:
public List<Response> getAdditionalData(List<ExcelModel> excelList) {
return Flux.fromIterable(excelList) // Превращаем лист во флюкс
.flatMap(excel -> webClient.get() // по каждому элемену делаем асинхронный запрос
.uri(sybase + excel.getTransactionID())
.retrieve()
.bodyToMono(Response.class))
.collectList() // Собираем поток в лист. Тут получается Mono<List<Response>>
.block(); // Блокируем тред и ждем завершения. Можно в скобочках указать сколько ждать.
}
2. Либо вы пересаживаетесь на асинхронный стек, тогда вам нужно флюкс и отдавать, как и написал
Михаил. И подписка на него дожна быть, скорее всего, где-то выше по стеку.
public Flux<Response> getAdditionalData(List<ExcelModel> excelList) {
return Flux.fromIterable(excelList)
.flatMap(excel -> webClient.get()
.uri(sybase + excel.getTransactionID())
.retrieve()
.bodyToMono(Response.class));
}