Class SessionAttributeMethodArgumentResolver
- java.lang.Object
- org.springframework.web.reactive.result.method.HandlerMethodArgumentResolverSupport
- org.springframework.web.reactive.result.method.annotation.AbstractNamedValueArgumentResolver
- org.springframework.web.reactive.result.method.annotation.SessionAttributeMethodArgumentResolver
- All Implemented Interfaces:
HandlerMethodArgumentResolver
public class SessionAttributeMethodArgumentResolver extends AbstractNamedValueArgumentResolver
Resolves method arguments annotated with an @SessionAttribute.- Since:
- 5.0
- Author:
- Rossen Stoyanchev
- See Also:
RequestAttributeMethodArgumentResolver
Nested Class Summary
Nested classes/interfaces inherited from class org.springframework.web.reactive.result.method.annotation.AbstractNamedValueArgumentResolver
AbstractNamedValueArgumentResolver.NamedValueInfo
Field Summary
Fields inherited from class org.springframework.web.reactive.result.method.HandlerMethodArgumentResolverSupport
logger
Constructor Summary
Constructors Constructor Description SessionAttributeMethodArgumentResolver(ConfigurableBeanFactory factory, ReactiveAdapterRegistry registry)
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected AbstractNamedValueArgumentResolver.NamedValueInfocreateNamedValueInfo(MethodParameter parameter)Create theAbstractNamedValueArgumentResolver.NamedValueInfoobject for the given method parameter.protected voidhandleMissingValue(String name, MethodParameter parameter)Invoked when a named value is required, butAbstractNamedValueArgumentResolver.resolveName(String, MethodParameter, ServerWebExchange)returnednulland there is no default value.protected reactor.core.publisher.Mono<Object>resolveName(String name, MethodParameter parameter, ServerWebExchange exchange)Resolve the given parameter type and value name into an argument value.booleansupportsParameter(MethodParameter parameter)Whether this resolver supports the given method parameter.Methods inherited from class org.springframework.web.reactive.result.method.annotation.AbstractNamedValueArgumentResolver
handleMissingValue, handleResolvedValue, resolveArgument
Methods inherited from class org.springframework.web.reactive.result.method.HandlerMethodArgumentResolverSupport
checkAnnotatedParamNoReactiveWrapper, checkParameterType, checkParameterTypeNoReactiveWrapper, getAdapterRegistry
Constructor Detail
SessionAttributeMethodArgumentResolver
public SessionAttributeMethodArgumentResolver(ConfigurableBeanFactory factory, ReactiveAdapterRegistry registry)
Method Detail
supportsParameter
public boolean supportsParameter(MethodParameter parameter)
Description copied from interface:HandlerMethodArgumentResolverWhether this resolver supports the given method parameter.- Parameters:
parameter- the method parameter
createNamedValueInfo
protected AbstractNamedValueArgumentResolver.NamedValueInfo createNamedValueInfo(MethodParameter parameter)
Description copied from class:AbstractNamedValueArgumentResolverCreate theAbstractNamedValueArgumentResolver.NamedValueInfoobject for the given method parameter. Implementations typically retrieve the method annotation by means ofMethodParameter.getParameterAnnotation(Class).- Specified by:
createNamedValueInfoin classAbstractNamedValueArgumentResolver- Parameters:
parameter- the method parameter- Returns:
- the named value information
resolveName
protected reactor.core.publisher.Mono<Object> resolveName(String name, MethodParameter parameter, ServerWebExchange exchange)
Description copied from class:AbstractNamedValueArgumentResolverResolve the given parameter type and value name into an argument value.- Specified by:
resolveNamein classAbstractNamedValueArgumentResolver- Parameters:
name- the name of the value being resolvedparameter- the method parameter to resolve to an argument value (pre-nested in case of aOptionaldeclaration)exchange- the current exchange- Returns:
- the resolved argument (may be empty
Mono)
handleMissingValue
protected void handleMissingValue(String name, MethodParameter parameter)
Description copied from class:AbstractNamedValueArgumentResolverInvoked when a named value is required, butAbstractNamedValueArgumentResolver.resolveName(String, MethodParameter, ServerWebExchange)returnednulland there is no default value. Subclasses typically throw an exception in this case.- Overrides:
handleMissingValuein classAbstractNamedValueArgumentResolver- Parameters:
name- the name for the valueparameter- the method parameter