spring-framework / org.springframework.web.reactive.result.method / HandlerMethodArgumentResolverSupport

HandlerMethodArgumentResolverSupport

abstract class HandlerMethodArgumentResolverSupport : HandlerMethodArgumentResolver

Base class for HandlerMethodArgumentResolver implementations with access to a ReactiveAdapterRegistry and methods to check for method parameter support.

Author
Rossen Stoyanchev

Author
Juergen Hoeller

Since
5.0

Functions

getAdapterRegistry

open fun getAdapterRegistry(): ReactiveAdapterRegistry

Return the configured ReactiveAdapterRegistry.

Inherited Functions

resolveArgument

abstract fun resolveArgument(parameter: MethodParameter, bindingContext: BindingContext, exchange: ServerWebExchange): Mono<Any>

Resolve the value for the method parameter.

supportsParameter

abstract fun supportsParameter(parameter: MethodParameter): Boolean

Whether this resolver supports the given method parameter.

Inheritors

ErrorsMethodArgumentResolver

open class ErrorsMethodArgumentResolver : HandlerMethodArgumentResolverSupport

Resolve Errors or BindingResult method arguments. An Errors argument is expected to appear immediately after the model attribute in the method signature.

MatrixVariableMapMethodArgumentResolver

open class MatrixVariableMapMethodArgumentResolver : HandlerMethodArgumentResolverSupport, SyncHandlerMethodArgumentResolver

Resolves arguments of type Map annotated with where

ModelArgumentResolver

open class ModelArgumentResolver : HandlerMethodArgumentResolverSupport, SyncHandlerMethodArgumentResolver

Resolver for a controller method argument of type Model that can also be resolved as a java.util.Map.

ModelAttributeMethodArgumentResolver

open class ModelAttributeMethodArgumentResolver : HandlerMethodArgumentResolverSupport

Resolve @ModelAttribute annotated method arguments.

Model attributes are sourced from the model, or created using a default constructor and then added to the model. Once created the attribute is populated via data binding to the request (form data, query params). Validation also may be applied if the argument is annotated with @javax.validation.Valid or Spring's own @org.springframework.validation.annotation.Validated.

When this handler is created with useDefaultResolution=true any non-simple type argument and return value is regarded as a model attribute with or without the presence of an @ModelAttribute.

PathVariableMapMethodArgumentResolver

open class PathVariableMapMethodArgumentResolver : HandlerMethodArgumentResolverSupport, SyncHandlerMethodArgumentResolver

Resolver for Map method arguments also annotated with PathVariable where the annotation does not specify a path variable name. The resulting Map argument is a coyp of all URI template name-value pairs.

PrincipalArgumentResolver

open class PrincipalArgumentResolver : HandlerMethodArgumentResolverSupport

Resolves method argument value of type java.security.Principal.

RequestHeaderMapMethodArgumentResolver

open class RequestHeaderMapMethodArgumentResolver : HandlerMethodArgumentResolverSupport, SyncHandlerMethodArgumentResolver

Resolves Map method arguments annotated with @RequestHeader. For individual header values annotated with @RequestHeader see RequestHeaderMethodArgumentResolver instead.

The created Map contains all request header name/value pairs. The method parameter type may be a MultiValueMap to receive all values for a header, not only the first one.

RequestParamMapMethodArgumentResolver

open class RequestParamMapMethodArgumentResolver : HandlerMethodArgumentResolverSupport, SyncHandlerMethodArgumentResolver

Resolver for Map method arguments annotated with RequestParam where the annotation does not specify a request parameter name. See RequestParamMethodArgumentResolver for resolving Map method arguments with a request parameter name.

The created Map contains all request parameter name-value pairs. If the method parameter type is MultiValueMap instead, the created map contains all request parameters and all there values for cases where request parameters have multiple values.

ServerWebExchangeArgumentResolver

open class ServerWebExchangeArgumentResolver : HandlerMethodArgumentResolverSupport, SyncHandlerMethodArgumentResolver

Resolves ServerWebExchange-related method argument values of the following types:

  • ServerWebExchange
  • ServerHttpRequest
  • ServerHttpResponse
  • HttpMethod
  • Locale
  • TimeZone
  • ZoneId
  • UriBuilder or UriComponentsBuilder -- for building URL's relative to the current request

For the WebSession see WebSessionArgumentResolver and for the Principal see PrincipalArgumentResolver.

WebSessionArgumentResolver

open class WebSessionArgumentResolver : HandlerMethodArgumentResolverSupport

Resolves method argument value of type WebSession.