Package org.springframework.http.codec
Interface HttpMessageReader<T>
- Type Parameters:
T
- the type of objects in the decoded output stream
- All Known Implementing Classes:
DecoderHttpMessageReader
,FormHttpMessageReader
,MultipartHttpMessageReader
,ResourceHttpMessageReader
,ServerSentEventHttpMessageReader
,SynchronossPartHttpMessageReader
public interface HttpMessageReader<T>
Strategy for reading from aReactiveHttpInputMessage
and decoding the stream of bytes to Objects of type<T>
.- Since:
- 5.0
- Author:
- Rossen Stoyanchev, Arjen Poutsma, Sebastien Deleuze
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description boolean
canRead(ResolvableType elementType, MediaType mediaType)
Whether the given object type is supported by this reader.List<MediaType>
getReadableMediaTypes()
Return theMediaType
's that this reader supports.default reactor.core.publisher.Flux<T>
read(ResolvableType actualType, ResolvableType elementType, ServerHttpRequest request, ServerHttpResponse response, Map<String,Object> hints)
Server-side only alternative toread(ResolvableType, ReactiveHttpInputMessage, Map)
with additional context available.reactor.core.publisher.Flux<T>
read(ResolvableType elementType, ReactiveHttpInputMessage message, Map<String,Object> hints)
Read from the input message and encode to a stream of objects.default reactor.core.publisher.Mono<T>
readMono(ResolvableType actualType, ResolvableType elementType, ServerHttpRequest request, ServerHttpResponse response, Map<String,Object> hints)
Server-side only alternative toreadMono(ResolvableType, ReactiveHttpInputMessage, Map)
with additional, context available.reactor.core.publisher.Mono<T>
readMono(ResolvableType elementType, ReactiveHttpInputMessage message, Map<String,Object> hints)
Read from the input message and encode to a single object.
Method Detail
getReadableMediaTypes
List<MediaType> getReadableMediaTypes()
Return theMediaType
's that this reader supports.
canRead
boolean canRead(ResolvableType elementType, @Nullable MediaType mediaType)
Whether the given object type is supported by this reader.- Parameters:
elementType
- the type of object to checkmediaType
- the media type for the read (possiblynull
)- Returns:
true
if readable,false
otherwise
read
reactor.core.publisher.Flux<T> read(ResolvableType elementType, ReactiveHttpInputMessage message, Map<String,Object> hints)
Read from the input message and encode to a stream of objects.- Parameters:
elementType
- the type of objects in the stream which must have been previously checked viacanRead(ResolvableType, MediaType)
message
- the message to read fromhints
- additional information about how to read and decode the input- Returns:
- the decoded stream of elements
readMono
reactor.core.publisher.Mono<T> readMono(ResolvableType elementType, ReactiveHttpInputMessage message, Map<String,Object> hints)
Read from the input message and encode to a single object.- Parameters:
elementType
- the type of objects in the stream which must have been previously checked viacanRead(ResolvableType, MediaType)
message
- the message to read fromhints
- additional information about how to read and decode the input- Returns:
- the decoded object
read
default reactor.core.publisher.Flux<T> read(ResolvableType actualType, ResolvableType elementType, ServerHttpRequest request, ServerHttpResponse response, Map<String,Object> hints)
Server-side only alternative toread(ResolvableType, ReactiveHttpInputMessage, Map)
with additional context available.- Parameters:
actualType
- the actual type of the target method parameter; for annotated controllers, theMethodParameter
can be accessed viaResolvableType.getSource()
.elementType
- the type of Objects in the output streamrequest
- the current requestresponse
- the current responsehints
- additional information about how to read the body- Returns:
- the decoded stream of elements
readMono
default reactor.core.publisher.Mono<T> readMono(ResolvableType actualType, ResolvableType elementType, ServerHttpRequest request, ServerHttpResponse response, Map<String,Object> hints)
Server-side only alternative toreadMono(ResolvableType, ReactiveHttpInputMessage, Map)
with additional, context available.- Parameters:
actualType
- the actual type of the target method parameter; for annotated controllers, theMethodParameter
can be accessed viaResolvableType.getSource()
.elementType
- the type of Objects in the output streamrequest
- the current requestresponse
- the current responsehints
- additional information about how to read the body- Returns:
- the decoded stream of elements