- в качестве типа возврата,
Mono<List<T>>
означает, что вы получите асинхронно полный список T
элементов за один снимок. Flux<T>
означает, что вы получите ноль длямножество T
элементов, возможно, один за другим по мере их поступления.
Если вы получаете такие типы возврата от клиента HTTP, такие как WebClient
, Mono<List<T>>
и Flux<T>
, возможно,более или менее эквивалентный с точки зрения времени выполнения, если возвращенный Content-Type
является, например, "application/json"
.В этом случае декодер десериализует ответ за один кадр.Единственное отличие состоит в том, что Flux<T>
предоставляет более интересные операторы, и вы всегда можете collectList
и вернуться к Mono<List>
.
С другой стороны, если возвращаемый Content-Type
является потоковым,например "application/stream+json"
тогда это определенно окажет влияние, так как вы будете получать элементы один за другим по мере их поступления.На самом деле, если возвращаемый поток бесконечен, выбор Flux<T>
очень важен, так как другой никогда не завершится.