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, getRawStatusCode, getRequestBodyContent, getRequestHeaders, getResponseBodyContent, getResponseCookies, getResponseHeaders, getStatus, getUriTemplate, getUrl, toString
public 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