T - レスポンス本文の要素の型 public class FluxExchangeResult<T> extends ExchangeResult
Flux<T> としてデコードされましたがまだ消費されていないレスポンス本体を持つ ExchangeResult バリアント。EntityExchangeResult| 修飾子と型 | メソッドと説明 |
|---|---|
void | consumeWith(ConsumerSE<FluxExchangeResult<T>> consumer)"this" インスタンスを渡す ExchangeResult.assertWithDiagnostics(Runnable) 内の指定されたコンシューマーを呼び出します。 |
reactor.core.publisher.Flux<T> | getResponseBody() デコードされた要素の Flux<T> としてレスポンス本文を返します。 |
assertWithDiagnostics, getMethod, getRawStatusCode, getRequestBodyContent, getRequestHeaders, getResponseBodyContent, getResponseCookies, getResponseHeaders, getStatus, getUriTemplate, getUrl, toStringcloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, waitSE, waitSE, waitSEpublic reactor.core.publisher.Flux<T> getResponseBody()
Flux<T> としてレスポンス本文を返します。 次に、"reactor-test" StepVerifier を使用してレスポンス本体ストリームをさらに消費し、(おそらく無限)ストリームから十分な要素が消費されたときにキャンセルできます。
FluxExchangeResult<Person> result = this.client.get()
.uri("/persons")
.accept(TEXT_EVENT_STREAM)
.exchange()
.expectStatus().isOk()
.expectHeader().contentType(TEXT_EVENT_STREAM)
.expectBody(Person.class)
.returnResult();
StepVerifier.create(result.getResponseBody())
.expectNext(new Person("Jane"), new Person("Jason"))
.expectNextCount(4)
.expectNext(new Person("Jay"))
.thenCancel()
.verify();
public void consumeWith(ConsumerSE<FluxExchangeResult<T>> consumer)
"this" インスタンスを渡す ExchangeResult.assertWithDiagnostics(Runnable) 内の指定されたコンシューマーを呼び出します。この方法では、呼び出しの WebTestClient チェーンを移動せずに、次のことが可能です。
client.get()
.uri("/persons")
.accept(TEXT_EVENT_STREAM)
.exchange()
.expectStatus().isOk()
.returnResult()
.consumeWith(result -> assertThat(...);
consumer - "this" インスタンスのコンシューマー