Interface WebTestClient.ResponseSpec
- Enclosing interface:
- WebTestClient
public static interface WebTestClient.ResponseSpec
Chained API for applying assertions to a response.
-
Nested Class Summary
Modifier and TypeInterfaceDescriptionstatic interface
-
Method Summary
Modifier and TypeMethodDescriptionexpectAll
(WebTestClient.ResponseSpec.ResponseSpecConsumer... consumers) Apply multiple assertions to a response with the given consumers, with the guarantee that all assertions will be applied even if one or more assertions fails with an exception.Consume and decode the response body tobyte[]
and then apply assertions on the raw content (e.g.<B> WebTestClient.BodySpec<B,
?> expectBody
(Class<B> bodyType) Consume and decode the response body to a single object of type<B>
and then apply assertions.<B> WebTestClient.BodySpec<B,
?> expectBody
(ParameterizedTypeReference<B> bodyType) Alternative toexpectBody(Class)
that accepts information about a target type with generics.<E> WebTestClient.ListBodySpec<E>
expectBodyList
(Class<E> elementType) Consume and decode the response body toList<E>
and then apply List-specific assertions.<E> WebTestClient.ListBodySpec<E>
expectBodyList
(ParameterizedTypeReference<E> elementType) Alternative toexpectBodyList(Class)
that accepts information about a target type with generics.Assertions on the cookies of the response.Assertions on the headers of the response.Assertions on the response status.<T> FluxExchangeResult<T>
returnResult
(Class<T> elementClass) Exit the chained flow in order to consume the response body externally, e.g.<T> FluxExchangeResult<T>
returnResult
(ParameterizedTypeReference<T> elementTypeRef) Alternative toreturnResult(Class)
that accepts information about a target type with generics.
-
Method Details
-
expectAll
Apply multiple assertions to a response with the given consumers, with the guarantee that all assertions will be applied even if one or more assertions fails with an exception.If a single
Error
orRuntimeException
is thrown, it will be rethrown.If multiple exceptions are thrown, this method will throw an
AssertionError
whose error message is a summary of all the exceptions. In addition, each exception will be added as a suppressed exception to theAssertionError
.This feature is similar to the
SoftAssertions
support in AssertJ and theassertAll()
support in JUnit Jupiter.Example
webTestClient.get().uri("/hello").exchange() .expectAll( responseSpec -> responseSpec.expectStatus().isOk(), responseSpec -> responseSpec.expectBody(String.class).isEqualTo("Hello, World!") );
- Parameters:
consumers
- the list ofResponseSpec
consumers- Since:
- 5.3.10
-
expectStatus
StatusAssertions expectStatus()Assertions on the response status. -
expectHeader
HeaderAssertions expectHeader()Assertions on the headers of the response. -
expectCookie
CookieAssertions expectCookie()Assertions on the cookies of the response.- Since:
- 5.3
-
expectBody
Consume and decode the response body to a single object of type<B>
and then apply assertions.- Parameters:
bodyType
- the expected body type
-
expectBody
Alternative toexpectBody(Class)
that accepts information about a target type with generics. -
expectBodyList
Consume and decode the response body toList<E>
and then apply List-specific assertions.- Parameters:
elementType
- the expected List element type
-
expectBodyList
Alternative toexpectBodyList(Class)
that accepts information about a target type with generics. -
expectBody
WebTestClient.BodyContentSpec expectBody()Consume and decode the response body tobyte[]
and then apply assertions on the raw content (e.g. isEmpty, JSONPath, etc.) -
returnResult
Exit the chained flow in order to consume the response body externally, e.g. viaStepVerifier
.Note that when
Void.class
is passed in, the response body is consumed and released. If no content is expected, then consider using.expectBody().isEmpty()
instead which asserts that there is no content. -
returnResult
Alternative toreturnResult(Class)
that accepts information about a target type with generics.
-