Class ExtendedServletRequestDataBinder
java.lang.Object
org.springframework.validation.DataBinder
org.springframework.web.bind.WebDataBinder
org.springframework.web.bind.ServletRequestDataBinder
org.springframework.web.servlet.mvc.method.annotation.ExtendedServletRequestDataBinder
- All Implemented Interfaces:
PropertyEditorRegistry, TypeConverter
Subclass of
ServletRequestDataBinder that adds URI template variables
to the values used for data binding.
WARNING: Data binding can lead to security issues by exposing parts of the object graph that are not meant to be accessed or modified by external clients. Therefore, the design and use of data binding should be considered carefully with regard to security. For more details, please refer to the dedicated sections on data binding for Spring Web MVC and Spring WebFlux in the reference manual.
- Since:
- 3.1
- Author:
- Rossen Stoyanchev
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class ServletRequestDataBinder
ServletRequestDataBinder.ServletRequestValueResolverNested classes/interfaces inherited from class DataBinder
DataBinder.NameResolver, DataBinder.ValueResolver -
Field Summary
Fields inherited from class WebDataBinder
DEFAULT_FIELD_DEFAULT_PREFIX, DEFAULT_FIELD_MARKER_PREFIXFields inherited from class DataBinder
DEFAULT_AUTO_GROW_COLLECTION_LIMIT, DEFAULT_OBJECT_NAME, logger -
Constructor Summary
ConstructorsConstructorDescriptionCreate a new instance, with default object name.ExtendedServletRequestDataBinder(@Nullable Object target, String objectName) Create a new instance. -
Method Summary
Modifier and TypeMethodDescriptionprotected voidaddBindValues(MutablePropertyValues mpvs, ServletRequest request) Merge URI variables into the property values to use for data binding.voidaddHeaderPredicate(Predicate<String> headerPredicate) Add a Predicate that filters the header names to use for data binding.createValueResolver(ServletRequest request) Allow subclasses to create theDataBinder.ValueResolverinstance to use.voidsetHeaderPredicate(Predicate<String> headerPredicate) Set the Predicate that filters the header names to use for data binding.Methods inherited from class ServletRequestDataBinder
bind, closeNoCatch, construct, shouldConstructArgument, valueResolverMethods inherited from class WebDataBinder
adaptEmptyArrayIndices, bindMultipart, checkFieldDefaults, checkFieldMarkers, doBind, getEmptyValue, getEmptyValue, getFieldDefaultPrefix, getFieldMarkerPrefix, isBindEmptyMultipartFiles, resolvePrefixValue, setBindEmptyMultipartFiles, setFieldDefaultPrefix, setFieldMarkerPrefixMethods inherited from class DataBinder
addCustomFormatter, addCustomFormatter, addCustomFormatter, addValidators, applyPropertyValues, bind, checkAllowedFields, checkRequiredFields, close, construct, convertIfNecessary, convertIfNecessary, convertIfNecessary, convertIfNecessary, createBeanPropertyBindingResult, createDirectFieldBindingResult, findCustomEditor, getAllowedFields, getAutoGrowCollectionLimit, getBindingErrorProcessor, getBindingResult, getConversionService, getDisallowedFields, getInternalBindingResult, getNameResolver, getObjectName, getPropertyAccessor, getPropertyEditorRegistry, getRequiredFields, getSimpleTypeConverter, getTarget, getTargetType, getTypeConverter, getValidator, getValidators, getValidatorsToApply, initBeanPropertyAccess, initDirectFieldAccess, isAllowed, isAutoGrowNestedPaths, isDeclarativeBinding, isIgnoreInvalidFields, isIgnoreUnknownFields, registerCustomEditor, registerCustomEditor, replaceValidators, setAllowedFields, setAutoGrowCollectionLimit, setAutoGrowNestedPaths, setBindingErrorProcessor, setConversionService, setDeclarativeBinding, setDisallowedFields, setExcludedValidators, setIgnoreInvalidFields, setIgnoreUnknownFields, setMessageCodesResolver, setNameResolver, setRequiredFields, setTargetType, setValidator, shouldNotBindPropertyValues, validate, validate
-
Constructor Details
-
ExtendedServletRequestDataBinder
-
ExtendedServletRequestDataBinder
-
-
Method Details
-
addHeaderPredicate
-
setHeaderPredicate
Set the Predicate that filters the header names to use for data binding.Note that this method resets any previous predicates that may have been set, including headers excluded by default such as the RFC 9218 defined "Priority" header.
- Parameters:
headerPredicate- the predicate to add- Since:
- 6.2.1
-
createValueResolver
protected ServletRequestDataBinder.ServletRequestValueResolver createValueResolver(ServletRequest request) Description copied from class:ServletRequestDataBinderAllow subclasses to create theDataBinder.ValueResolverinstance to use.- Overrides:
createValueResolverin classServletRequestDataBinder
-
addBindValues
Merge URI variables into the property values to use for data binding.- Overrides:
addBindValuesin classServletRequestDataBinder- Parameters:
mpvs- the property values that will be used for data bindingrequest- the current request
-