T - the type of elements in the response bodypublic class FluxExchangeResult<T> extends ExchangeResult
ExchangeResult variant with the response body decoded as
Flux<T> but not yet consumed.EntityExchangeResult| Modifier and Type | Method and Description |
|---|---|
void |
consumeWith(Consumer<FluxExchangeResult<T>> consumer)
Invoke the given consumer within
ExchangeResult.assertWithDiagnostics(Runnable)
passing "this" instance to it. |
reactor.core.publisher.Flux<T> |
getResponseBody()
Return the response body as a
Flux<T> of decoded elements. |
assertWithDiagnostics, getMethod, getMockServerResult, getRawStatusCode, getRequestBodyContent, getRequestHeaders, getResponseBodyContent, getResponseCookies, getResponseHeaders, getStatus, getUriTemplate, getUrl, toStringpublic reactor.core.publisher.Flux<T> getResponseBody()
Flux<T> of decoded elements.
The response body stream can then be consumed further with the
"reactor-test" StepVerifier and cancelled when enough elements have been
consumed from the (possibly infinite) stream:
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(Consumer<FluxExchangeResult<T>> consumer)
ExchangeResult.assertWithDiagnostics(Runnable)
passing "this" instance to it. This method allows the following,
without leaving the WebTestClient chain of calls:
client.get()
.uri("/persons")
.accept(TEXT_EVENT_STREAM)
.exchange()
.expectStatus().isOk()
.returnResult()
.consumeWith(result -> assertThat(...);
consumer - the consumer for "this" instance