単核症 > Fluxとの違い Spring webfluxで質問する

単核症 > Fluxとの違い Spring webfluxで質問する

私の理解では、これは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>collectListMono<List>

一方、返されるのがContent-Typeストリーミングである場合、たとえば、"application/stream+json"要素が 1 つずつ取得されるため、これは確実に影響します。実際、返されるストリームが無限である場合、Flux<T>もう 1 つは完了しないため、選択は非常に重要です。

おすすめ記事