类 BodyExtractors

java.lang.Object
cn.taketoday.web.reactive.function.BodyExtractors

public abstract class BodyExtractors extends Object
Static factory methods for BodyExtractor implementations.
从以下版本开始:
4.0
作者:
Arjen Poutsma, Sebastien Deleuze, Rossen Stoyanchev, Brian Clozel
  • 字段详细资料

    • FORM_DATA_TYPE

      private static final cn.taketoday.core.ResolvableType FORM_DATA_TYPE
    • MULTIPART_DATA_TYPE

      private static final cn.taketoday.core.ResolvableType MULTIPART_DATA_TYPE
    • PART_TYPE

      private static final cn.taketoday.core.ResolvableType PART_TYPE
    • VOID_TYPE

      private static final cn.taketoday.core.ResolvableType VOID_TYPE
  • 构造器详细资料

    • BodyExtractors

      public BodyExtractors()
  • 方法详细资料

    • 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>.
      类型参数:
      T - the element type to decode to
      参数:
      elementClass - the class of the element type to decode to
      返回:
      BodyExtractor for Mono<T>
    • toMono

      public static <T> BodyExtractor<reactor.core.publisher.Mono<T>,ReactiveHttpInputMessage> toMono(cn.taketoday.core.ParameterizedTypeReference<T> elementTypeRef)
      Variant of toMono(Class) for type information with generics.
      类型参数:
      T - the element type to decode to
      参数:
      elementTypeRef - the type reference for the type to decode to
      返回:
      BodyExtractor for Mono<T>
    • toMono

      private static <T> BodyExtractor<reactor.core.publisher.Mono<T>,ReactiveHttpInputMessage> toMono(cn.taketoday.core.ResolvableType elementType)
    • 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>.
      类型参数:
      T - the element type to decode to
      参数:
      elementClass - the class of the element type to decode to
      返回:
      BodyExtractor for Flux<T>
    • toFlux

      public static <T> BodyExtractor<reactor.core.publisher.Flux<T>,ReactiveHttpInputMessage> toFlux(cn.taketoday.core.ParameterizedTypeReference<T> typeRef)
      Variant of toFlux(Class) for type information with generics.
      类型参数:
      T - the element type to decode to
      参数:
      typeRef - the type reference for the type to decode to
      返回:
      BodyExtractor for Flux<T>
    • toFlux

      private static <T> BodyExtractor<reactor.core.publisher.Flux<T>,ReactiveHttpInputMessage> toFlux(cn.taketoday.core.ResolvableType elementType)
    • toFormData

      public static BodyExtractor<reactor.core.publisher.Mono<cn.taketoday.util.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).

      返回:
      BodyExtractor for form data
    • toMultipartData

      public static BodyExtractor<reactor.core.publisher.Mono<cn.taketoday.util.MultiValueMap<String,Part>>,ServerHttpRequest> toMultipartData()
      Extractor to read multipart data into a MultiValueMap<String, Part>.
      返回:
      BodyExtractor for multipart data
    • toParts

      public static BodyExtractor<reactor.core.publisher.Flux<Part>,ServerHttpRequest> toParts()
      Extractor to read multipart data into Flux<Part>.
      返回:
      BodyExtractor for multipart request parts
    • toDataBuffers

      public static BodyExtractor<reactor.core.publisher.Flux<cn.taketoday.core.io.buffer.DataBuffer>,ReactiveHttpInputMessage> toDataBuffers()
      Extractor that returns the raw DataBuffers.

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

      返回:
      BodyExtractor for data buffers
    • readWithMessageReaders

      private static <T, S extends org.reactivestreams.Publisher<T>> S readWithMessageReaders(ReactiveHttpInputMessage message, BodyExtractor.Context context, cn.taketoday.core.ResolvableType elementType, Function<HttpMessageReader<T>,S> readerFunction, Function<UnsupportedMediaTypeException,S> errorFunction, Supplier<S> emptySupplier)
    • readToMono

      private static <T> reactor.core.publisher.Mono<T> readToMono(ReactiveHttpInputMessage message, BodyExtractor.Context context, cn.taketoday.core.ResolvableType type, HttpMessageReader<T> reader)
    • readToFlux

      private static <T> reactor.core.publisher.Flux<T> readToFlux(ReactiveHttpInputMessage message, BodyExtractor.Context context, cn.taketoday.core.ResolvableType type, HttpMessageReader<T> reader)
    • unsupportedErrorHandler

      private static <T> reactor.core.publisher.Flux<T> unsupportedErrorHandler(ReactiveHttpInputMessage message, UnsupportedMediaTypeException ex)
    • findReader

      private static <T> HttpMessageReader<T> findReader(cn.taketoday.core.ResolvableType elementType, MediaType mediaType, BodyExtractor.Context context)
    • cast

      private static <T> HttpMessageReader<T> cast(HttpMessageReader<?> reader)
    • skipBodyAsFlux

      private static <T> Supplier<reactor.core.publisher.Flux<T>> skipBodyAsFlux(ReactiveHttpInputMessage message)
    • skipBodyAsMono

      private static <T> Supplier<reactor.core.publisher.Mono<T>> skipBodyAsMono(ReactiveHttpInputMessage message)
    • consumeAndCancel

      private static reactor.core.publisher.Flux<cn.taketoday.core.io.buffer.DataBuffer> consumeAndCancel(ReactiveHttpInputMessage message)