public abstract class AbstractMessageReaderArgumentResolver
extends java.lang.Object
HttpMessageReader
.
Applies validation if the method argument is annotated with
@javax.validation.Valid
or
Validated
. Validation
failure results in an ServerWebInputException
.
Modifier and Type | Field and Description |
---|---|
private ReactiveAdapterRegistry |
adapterRegistry |
private java.util.List<HttpMessageReader<?>> |
messageReaders |
private java.util.List<MediaType> |
supportedMediaTypes |
Modifier | Constructor and Description |
---|---|
protected |
AbstractMessageReaderArgumentResolver(java.util.List<HttpMessageReader<?>> readers)
Constructor with
HttpMessageReader 's and a Validator . |
protected |
AbstractMessageReaderArgumentResolver(java.util.List<HttpMessageReader<?>> messageReaders,
ReactiveAdapterRegistry adapterRegistry)
Constructor that also accepts a
ReactiveAdapterRegistry . |
Modifier and Type | Method and Description |
---|---|
protected boolean |
checkRequired(ReactiveAdapter adapter,
boolean isBodyRequired) |
protected java.lang.Object[] |
extractValidationHints(MethodParameter parameter)
Check if the given MethodParameter requires validation and if so return
a (possibly empty) Object[] with validation hints.
|
ReactiveAdapterRegistry |
getAdapterRegistry()
Return the configured
ReactiveAdapterRegistry . |
java.util.List<HttpMessageReader<?>> |
getMessageReaders()
Return the configured message converters.
|
protected ServerWebInputException |
getRequiredBodyError(MethodParameter parameter) |
protected <any> |
readBody(MethodParameter bodyParameter,
boolean isBodyRequired,
BindingContext bindingContext,
ServerWebExchange exchange) |
protected void |
validate(java.lang.Object target,
java.lang.Object[] validationHints,
MethodParameter param,
BindingContext binding,
ServerWebExchange exchange) |
protected ServerWebInputException |
wrapReadError(java.lang.Throwable ex,
MethodParameter parameter) |
private final java.util.List<HttpMessageReader<?>> messageReaders
private final ReactiveAdapterRegistry adapterRegistry
private final java.util.List<MediaType> supportedMediaTypes
protected AbstractMessageReaderArgumentResolver(java.util.List<HttpMessageReader<?>> readers)
HttpMessageReader
's and a Validator
.readers
- readers to convert from the request bodyprotected AbstractMessageReaderArgumentResolver(java.util.List<HttpMessageReader<?>> messageReaders, ReactiveAdapterRegistry adapterRegistry)
ReactiveAdapterRegistry
.messageReaders
- readers to convert from the request bodyadapterRegistry
- for adapting to other reactive types from Flux and Monopublic java.util.List<HttpMessageReader<?>> getMessageReaders()
public ReactiveAdapterRegistry getAdapterRegistry()
ReactiveAdapterRegistry
.protected <any> readBody(MethodParameter bodyParameter, boolean isBodyRequired, BindingContext bindingContext, ServerWebExchange exchange)
protected ServerWebInputException wrapReadError(java.lang.Throwable ex, MethodParameter parameter)
protected boolean checkRequired(ReactiveAdapter adapter, boolean isBodyRequired)
protected ServerWebInputException getRequiredBodyError(MethodParameter parameter)
protected java.lang.Object[] extractValidationHints(MethodParameter parameter)
null
indicates that validation is not required.protected void validate(java.lang.Object target, java.lang.Object[] validationHints, MethodParameter param, BindingContext binding, ServerWebExchange exchange)