org.springframework.core.codec

## 接口 Decoder<T>

- 类型参数:
    `T` - the type of elements in the output stream
  所有已知实现类:
    AbstractDataBufferDecoder, AbstractDecoder, ByteArrayDecoder, ByteBufferDecoder, DataBufferDecoder, ResourceDecoder, StringDecoder

      public interface Decoder<T>

  Strategy for decoding a `DataBuffer` input stream into an output stream of elements of type `<T>`.
  从以下版本开始:
    5.0
  作者:
    Sebastien Deleuze, Rossen Stoyanchev

- - ### 方法概要

    所有方法 实例方法 抽象方法
    限定符和类型 | 方法和说明
    --- | ---
    `boolean` | `canDecode(ResolvableType elementType, MimeType mimeType)` Whether the decoder supports the given target element type and the MIME type of the source stream.
    `reactor.core.publisher.Flux<T>` | `decode(org.reactivestreams.Publisher<DataBuffer> inputStream, ResolvableType elementType, MimeType mimeType, Map<String,Object> hints)` Decode a `DataBuffer` input stream into a Flux of `T`.
    `reactor.core.publisher.Mono<T>` | `decodeToMono(org.reactivestreams.Publisher<DataBuffer> inputStream, ResolvableType elementType, MimeType mimeType, Map<String,Object> hints)` Decode a `DataBuffer` input stream into a Mono of `T`.
    `List<MimeType>` | `getDecodableMimeTypes()` Return the list of MIME types this decoder supports.

- - ### 方法详细资料

    - #### canDecode

          boolean canDecode(ResolvableType elementType,
                            @Nullable
                            MimeType mimeType)

      Whether the decoder supports the given target element type and the MIME type of the source stream.
      参数:
        `elementType` - the target element type for the output stream
        `mimeType` - the mime type associated with the stream to decode (can be `null` if not specified)
      返回:
        `true` if supported, `false` otherwise

    - #### decode

          reactor.core.publisher.Flux<T> decode(org.reactivestreams.Publisher<DataBuffer> inputStream,
                                                ResolvableType elementType,
                                                @Nullable
                                                MimeType mimeType,
                                                @Nullable
                                                Map<String,Object> hints)

      Decode a `DataBuffer` input stream into a Flux of `T`.
      参数:
        `inputStream` - the `DataBuffer` input stream to decode
        `elementType` - the expected type of elements in the output stream; this type must have been previously passed to the `canDecode(org.springframework.core.ResolvableType, org.springframework.util.MimeType)` method and it must have returned `true`.
        `mimeType` - the MIME type associated with the input stream (optional)
        `hints` - additional information about how to do encode
      返回:
        the output stream with decoded elements

    - #### decodeToMono

          reactor.core.publisher.Mono<T> decodeToMono(org.reactivestreams.Publisher<DataBuffer> inputStream,
                                                      ResolvableType elementType,
                                                      @Nullable
                                                      MimeType mimeType,
                                                      @Nullable
                                                      Map<String,Object> hints)

      Decode a `DataBuffer` input stream into a Mono of `T`.
      参数:
        `inputStream` - the `DataBuffer` input stream to decode
        `elementType` - the expected type of elements in the output stream; this type must have been previously passed to the `canDecode(org.springframework.core.ResolvableType, org.springframework.util.MimeType)` method and it must have returned `true`.
        `mimeType` - the MIME type associated with the input stream (optional)
        `hints` - additional information about how to do encode
      返回:
        the output stream with the decoded element

    - #### getDecodableMimeTypes

          List<MimeType> getDecodableMimeTypes()

      Return the list of MIME types this decoder supports.