私の理解では、これはMono<List<T>>
同期されておりFlux<T>
、Flux は REST API 応答にはなり得ません。
私の言う通りでしょうか?
Mono<List<T>>
そうでない場合、との違いは何ですか、Flux<T>
または Flux はどこかの REST API 応答になる可能性がありますか?
ベストアンサー1
- 戻り値の型として、これは、要素の完全なリストを一度に
Mono<List<T>>
非同期的に取得することを意味します。T
Flux<T>
T
つまり、0 個から多数の要素が、場合によっては 1 つずつ取得されることになります。
HTTP クライアントから などの戻り値の型を取得している場合、WebClient
返されるがたとえば であればMono<List<T>>
、Flux<T>
と は実行時の観点からはほぼ同等である可能性があります。この場合、デコーダーは応答を 1 回で逆シリアル化します。唯一の違いは、 はより興味深い演算子を提供し、常にと にフォールバックできることです。Content-Type
"application/json"
Flux<T>
collectList
Mono<List>
一方、返されるのがContent-Type
ストリーミングである場合、たとえば、"application/stream+json"
要素が 1 つずつ取得されるため、これは確実に影響します。実際、返されるストリームが無限である場合、Flux<T>
もう 1 つは完了しないため、選択は非常に重要です。