spring-framework / org.springframework.web.reactive.function / BodyExtractors

BodyExtractors

abstract class BodyExtractors

Implementations of BodyExtractor that read various bodies, such a reactive streams.

Author
Arjen Poutsma

Author
Sebastien Deleuze

Since
5.0

Constructors

<init>

BodyExtractors()

Implementations of BodyExtractor that read various bodies, such a reactive streams.

Functions

toDataBuffers

open static fun toDataBuffers(): BodyExtractor<Flux<DataBuffer>, ReactiveHttpInputMessage>

Return a BodyExtractor that returns the body of the message as a Flux of DataBuffers.

Note that the returned buffers should be released after usage by calling org.springframework.core.io.buffer.DataBufferUtils#release(DataBuffer)

toFlux

open static fun <T : Any> toFlux(elementClass: Class<out T>): BodyExtractor<Flux<T>, ReactiveHttpInputMessage>

Return a BodyExtractor that reads into a Reactor Flux.

open static fun <T : Any> toFlux(typeReference: ParameterizedTypeReference<T>): BodyExtractor<Flux<T>, ReactiveHttpInputMessage>

Return a BodyExtractor that reads into a Reactor Flux. The given ParameterizedTypeReference is used to pass generic type information, for instance when using the org.springframework.web.reactive.function.client.WebClient

 Flux<ServerSentEvent<String>> body = this.webClient .get() .uri("http://example.com") .exchange() .flatMap(r -> r.body(toFlux(new ParameterizedTypeReference<ServerSentEvent<String>>() {}))); 

toFormData

open static fun toFormData(): BodyExtractor<Mono<MultiValueMap<String, String>>, ServerHttpRequest>

Return a BodyExtractor that reads form data into a MultiValueMap.

toMono

open static fun <T : Any> toMono(elementClass: Class<out T>): BodyExtractor<Mono<T>, ReactiveHttpInputMessage>

Return a BodyExtractor that reads into a Reactor Mono.

open static fun <T : Any> toMono(typeReference: ParameterizedTypeReference<T>): BodyExtractor<Mono<T>, ReactiveHttpInputMessage>

Return a BodyExtractor that reads into a Reactor Mono. The given ParameterizedTypeReference is used to pass generic type information, for instance when using the org.springframework.web.reactive.function.client.WebClient

 Mono<Map<String, String>> body = this.webClient .get() .uri("http://example.com") .exchange() .flatMap(r -> r.body(toMono(new ParameterizedTypeReference<Map<String,String>>() {}))); 

toMultipartData

open static fun toMultipartData(): BodyExtractor<Mono<MultiValueMap<String, Part>>, ServerHttpRequest>

Return a BodyExtractor that reads multipart (i.e. file upload) form data into a MultiValueMap.

toParts

open static fun toParts(): BodyExtractor<Flux<Part>, ServerHttpRequest>

Return a BodyExtractor that reads multipart (i.e. file upload) form data into a MultiValueMap.