public abstract class AbstractServerHttpMessageReader<T> extends Object implements ServerHttpMessageReader<T>
HttpMessageReader wrapper that implements ServerHttpMessageReader in order
to allow providing hints to the nested reader or setting the response status for
example, by implementing resolveReadHints(ResolvableType, ResolvableType, ServerHttpRequest).| Constructor and Description |
|---|
AbstractServerHttpMessageReader(HttpMessageReader<T> reader) |
| Modifier and Type | Method and Description |
|---|---|
boolean |
canRead(org.springframework.core.ResolvableType elementType,
MediaType mediaType)
Indicates whether the given class can be read by this converter.
|
List<MediaType> |
getReadableMediaTypes()
Return the list of
MediaType objects that can be read by this converter. |
reactor.core.publisher.Flux<T> |
read(org.springframework.core.ResolvableType elementType,
ReactiveHttpInputMessage inputMessage,
Map<String,Object> hints)
Read a
Flux of the given type form the given input message, and returns it. |
reactor.core.publisher.Flux<T> |
read(org.springframework.core.ResolvableType streamType,
org.springframework.core.ResolvableType elementType,
ServerHttpRequest request,
ServerHttpResponse response,
Map<String,Object> hints)
Read a
Flux of the given type form the given input message with additional server related
parameters which could be used to create some hints or set the response status for example. |
reactor.core.publisher.Mono<T> |
readMono(org.springframework.core.ResolvableType elementType,
ReactiveHttpInputMessage inputMessage,
Map<String,Object> hints)
Read a
Mono of the given type form the given input message, and returns it. |
reactor.core.publisher.Mono<T> |
readMono(org.springframework.core.ResolvableType streamType,
org.springframework.core.ResolvableType elementType,
ServerHttpRequest request,
ServerHttpResponse response,
Map<String,Object> hints)
Read a
Mono of the given type form the given input message with additional server related
parameters which could be used to create some hints or set the response status for example. |
protected abstract Map<String,Object> |
resolveReadHints(org.springframework.core.ResolvableType streamType,
org.springframework.core.ResolvableType elementType,
ServerHttpRequest request)
Invoked before reading the request to resolve hints by
read(ResolvableType, ResolvableType, ServerHttpRequest, ServerHttpResponse, Map). |
public AbstractServerHttpMessageReader(HttpMessageReader<T> reader)
public boolean canRead(org.springframework.core.ResolvableType elementType,
MediaType mediaType)
HttpMessageReadercanRead in interface HttpMessageReader<T>elementType - the stream element type to test for readabilitymediaType - the media type to read, can be null if not specified.
Typically the value of a Content-Type header.true if readable; false otherwisepublic reactor.core.publisher.Flux<T> read(org.springframework.core.ResolvableType elementType, ReactiveHttpInputMessage inputMessage, Map<String,Object> hints)
HttpMessageReaderFlux of the given type form the given input message, and returns it.read in interface HttpMessageReader<T>elementType - the stream element type to return. This type must have previously been
passed to the canRead method of this interface, which must have
returned true.inputMessage - the HTTP input message to read fromhints - additional information about how to read the bodyFlux of elementspublic reactor.core.publisher.Mono<T> readMono(org.springframework.core.ResolvableType elementType, ReactiveHttpInputMessage inputMessage, Map<String,Object> hints)
HttpMessageReaderMono of the given type form the given input message, and returns it.readMono in interface HttpMessageReader<T>elementType - the stream element type to return. This type must have previously been
passed to the canRead method of this interface, which must have
returned true.inputMessage - the HTTP input message to read fromhints - additional information about how to read the bodyMono of objectpublic List<MediaType> getReadableMediaTypes()
HttpMessageReaderMediaType objects that can be read by this converter.getReadableMediaTypes in interface HttpMessageReader<T>public reactor.core.publisher.Flux<T> read(org.springframework.core.ResolvableType streamType, org.springframework.core.ResolvableType elementType, ServerHttpRequest request, ServerHttpResponse response, Map<String,Object> hints)
ServerHttpMessageReaderFlux of the given type form the given input message with additional server related
parameters which could be used to create some hints or set the response status for example.
Return hints that can be used to customize how the body should be readread in interface ServerHttpMessageReader<T>streamType - the original type used in the method parameter. For annotation
based controllers, the MethodParameter is available via ResolvableType.getSource().elementType - the stream element type to return
Typically the value of a Content-Type header.request - the current HTTP requestresponse - the current HTTP responsehints - additional information about how to read the bodyFlux of elementspublic reactor.core.publisher.Mono<T> readMono(org.springframework.core.ResolvableType streamType, org.springframework.core.ResolvableType elementType, ServerHttpRequest request, ServerHttpResponse response, Map<String,Object> hints)
ServerHttpMessageReaderMono of the given type form the given input message with additional server related
parameters which could be used to create some hints or set the response status for example.
Return hints that can be used to customize how the body should be readreadMono in interface ServerHttpMessageReader<T>streamType - the original type used in the method parameter. For annotation
based controllers, the MethodParameter is available via ResolvableType.getSource().elementType - the stream element type to return
Typically the value of a Content-Type header.request - the current HTTP requestresponse - the current HTTP responsehints - additional information about how to read the bodyMono of objectprotected abstract Map<String,Object> resolveReadHints(org.springframework.core.ResolvableType streamType, org.springframework.core.ResolvableType elementType, ServerHttpRequest request)
read(ResolvableType, ResolvableType, ServerHttpRequest, ServerHttpResponse, Map).streamType - the original type used for the method return value. For annotation
based controllers, the MethodParameter is available via ResolvableType.getSource().elementType - the stream element type to processrequest - the current HTTP request