org.springframework.web.reactive.function

## Class BodyExtractors

- java.lang.Object
- - org.springframework.web.reactive.function.BodyExtractors

-     public abstract class BodyExtractors
      extends Object

  Static factory methods for `BodyExtractor` implementations.
  Since:
    5.0
  Author:
    Arjen Poutsma, Sebastien Deleuze, Rossen Stoyanchev, Brian Clozel

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `BodyExtractors()`

  - ### Method Summary

    All Methods Static Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `static BodyExtractor<reactor.core.publisher.Flux<DataBuffer>,ReactiveHttpInputMessage>` | `toDataBuffers()` Extractor that returns the raw `DataBuffers`.
    `static <T> BodyExtractor<reactor.core.publisher.Flux<T>,ReactiveHttpInputMessage>` | `toFlux(Class<? extends T> elementClass)` Extractor to decode the input content into `Flux<T>`.
    `static <T> BodyExtractor<reactor.core.publisher.Flux<T>,ReactiveHttpInputMessage>` | `toFlux(ParameterizedTypeReference<T> typeRef)` Variant of `toFlux(Class)` for type information with generics.
    `static BodyExtractor<reactor.core.publisher.Mono<MultiValueMap<String,String>>,ReactiveHttpInputMessage>` | `toFormData()` Extractor to read form data into `MultiValueMap<String, String>`.
    `static <T> BodyExtractor<reactor.core.publisher.Mono<T>,ReactiveHttpInputMessage>` | `toMono(Class<? extends T> elementClass)` Extractor to decode the input content into `Mono<T>`.
    `static <T> BodyExtractor<reactor.core.publisher.Mono<T>,ReactiveHttpInputMessage>` | `toMono(ParameterizedTypeReference<T> elementTypeRef)` Variant of `toMono(Class)` for type information with generics.
    `static BodyExtractor<reactor.core.publisher.Mono<MultiValueMap<String,Part>>,ServerHttpRequest>` | `toMultipartData()` Extractor to read multipart data into a `MultiValueMap<String, Part>`.
    `static BodyExtractor<reactor.core.publisher.Flux<Part>,ServerHttpRequest>` | `toParts()` Extractor to read multipart data into `Flux<Part>`.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### BodyExtractors

          public BodyExtractors()

  - ### Method Detail

    - #### toMono

          public static <T> BodyExtractor<reactor.core.publisher.Mono<T>,ReactiveHttpInputMessage> toMono(Class<? extends T> elementClass)

      Extractor to decode the input content into `Mono<T>`.
      Type Parameters:
        `T` - the element type to decode to
      Parameters:
        `elementClass` - the class of the element type to decode to
      Returns:
        `BodyExtractor` for `Mono<T>`

    - #### toMono

          public static <T> BodyExtractor<reactor.core.publisher.Mono<T>,ReactiveHttpInputMessage> toMono(ParameterizedTypeReference<T> elementTypeRef)

      Variant of `toMono(Class)` for type information with generics.
      Type Parameters:
        `T` - the element type to decode to
      Parameters:
        `elementTypeRef` - the type reference for the type to decode to
      Returns:
        `BodyExtractor` for `Mono<T>`

    - #### toFlux

          public static <T> BodyExtractor<reactor.core.publisher.Flux<T>,ReactiveHttpInputMessage> toFlux(Class<? extends T> elementClass)

      Extractor to decode the input content into `Flux<T>`.
      Type Parameters:
        `T` - the element type to decode to
      Parameters:
        `elementClass` - the class of the element type to decode to
      Returns:
        `BodyExtractor` for `Flux<T>`

    - #### toFlux

          public static <T> BodyExtractor<reactor.core.publisher.Flux<T>,ReactiveHttpInputMessage> toFlux(ParameterizedTypeReference<T> typeRef)

      Variant of `toFlux(Class)` for type information with generics.
      Type Parameters:
        `T` - the element type to decode to
      Parameters:
        `typeRef` - the type reference for the type to decode to
      Returns:
        `BodyExtractor` for `Flux<T>`

    - #### toFormData

          public static BodyExtractor<reactor.core.publisher.Mono<MultiValueMap<String,String>>,ReactiveHttpInputMessage> toFormData()

      Extractor to read form data into `MultiValueMap<String, String>`.

      As of 5.1 this method can also be used on the client side to read form data from a server response (e.g. OAuth).

      Returns:
        `BodyExtractor` for form data

    - #### toMultipartData

          public static BodyExtractor<reactor.core.publisher.Mono<MultiValueMap<String,Part>>,ServerHttpRequest> toMultipartData()

      Extractor to read multipart data into a `MultiValueMap<String, Part>`.
      Returns:
        `BodyExtractor` for multipart data

    - #### toParts

          public static BodyExtractor<reactor.core.publisher.Flux<Part>,ServerHttpRequest> toParts()

      Extractor to read multipart data into `Flux<Part>`.
      Returns:
        `BodyExtractor` for multipart request parts

    - #### toDataBuffers

          public static BodyExtractor<reactor.core.publisher.Flux<DataBuffer>,ReactiveHttpInputMessage> toDataBuffers()

      Extractor that returns the raw `DataBuffers`.

      Note: the data buffers should be `released` after being used.

      Returns:
        `BodyExtractor` for data buffers