Top Description Inners Fields Constructors Methods
org.springframework.web.servlet.mvc.method.annotation

public Class ServletRequestMethodArgumentResolver

extends Object
implements HandlerMethodArgumentResolver
Class Inheritance
All Implemented Interfaces
org.springframework.web.method.support.HandlerMethodArgumentResolver
Imports
java.io.IOException, .InputStream, .Reader, java.security.Principal, java.time.ZoneId, java.util.Locale, .TimeZone, jakarta.servlet.ServletRequest, jakarta.servlet.http.HttpServletRequest, .HttpSession, .PushBuilder, org.springframework.core.MethodParameter, org.springframework.http.HttpMethod, org.springframework.lang.Nullable, org.springframework.util.ClassUtils, org.springframework.web.bind.support.WebDataBinderFactory, org.springframework.web.context.request.NativeWebRequest, .WebRequest, org.springframework.web.method.support.HandlerMethodArgumentResolver, .ModelAndViewContainer, org.springframework.web.multipart.MultipartRequest, org.springframework.web.servlet.support.RequestContextUtils

Resolves servlet backed request-related method arguments. Supports values of the following types:
Authors
Arjen Poutsma, Rossen Stoyanchev, Juergen Hoeller
Since
3.1

Nested and Inner Type Summary

Modifier and TypeClass and Description
private static class
ServletRequestMethodArgumentResolver.PushBuilderDelegate

Inner class to avoid a hard dependency on Servlet API 4.0 at runtime.

Field Summary

Modifier and TypeField and Description
private static Class<?>

Constructor Summary

AccessConstructor and Description
public

Method Summary

Modifier and TypeMethod and Description
public Object
resolveArgument(MethodParameter
the method parameter to resolve. This parameter must have previously been passed to supportsParameter which must have returned true.
parameter
,
ModelAndViewContainer
the ModelAndViewContainer for the current request
mavContainer
,
NativeWebRequest
the current request
webRequest
,
WebDataBinderFactory
a factory for creating WebDataBinder instances
binderFactory
)

Implements org.springframework.web.method.support.HandlerMethodArgumentResolver.resolveArgument.

Resolves a method parameter into an argument value from a given request.

private Object
resolveArgument(Class<?> paramType, HttpServletRequest request)

private <T> T
resolveNativeRequest(NativeWebRequest webRequest, Class<T> requiredType)

public boolean
supportsParameter(MethodParameter
the method parameter to check
parameter
)

Implements org.springframework.web.method.support.HandlerMethodArgumentResolver.supportsParameter.

Whether the given method parameter is supported by this resolver.

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

pushBuilderback to summary
private static Class<?> pushBuilder
Annotations
@Nullable

Constructor Detail

ServletRequestMethodArgumentResolverback to summary
public ServletRequestMethodArgumentResolver()

Method Detail

resolveArgumentback to summary
public Object resolveArgument(MethodParameter parameter, ModelAndViewContainer mavContainer, NativeWebRequest webRequest, WebDataBinderFactory binderFactory) throws Exception

Implements org.springframework.web.method.support.HandlerMethodArgumentResolver.resolveArgument.

Doc from org.springframework.web.method.support.HandlerMethodArgumentResolver.resolveArgument.

Resolves a method parameter into an argument value from a given request. A ModelAndViewContainer provides access to the model for the request. A WebDataBinderFactory provides a way to create a WebDataBinder instance when needed for data binding and type conversion purposes.

Parameters
parameter:MethodParameter

the method parameter to resolve. This parameter must have previously been passed to supportsParameter which must have returned true.

mavContainer:ModelAndViewContainer

the ModelAndViewContainer for the current request

webRequest:NativeWebRequest

the current request

binderFactory:WebDataBinderFactory

a factory for creating WebDataBinder instances

Returns:Object

the resolved argument value, or null if not resolvable

Annotations
@Override
Exceptions
Exception:
in case of errors with the preparation of argument values
resolveArgumentback to summary
private Object resolveArgument(Class<?> paramType, HttpServletRequest request) throws IOException
Annotations
@Nullable
resolveNativeRequestback to summary
private <T> T resolveNativeRequest(NativeWebRequest webRequest, Class<T> requiredType)
supportsParameterback to summary
public boolean supportsParameter(MethodParameter parameter)

Implements org.springframework.web.method.support.HandlerMethodArgumentResolver.supportsParameter.

Doc from org.springframework.web.method.support.HandlerMethodArgumentResolver.supportsParameter.

Whether the given method parameter is supported by this resolver.

Parameters
parameter:MethodParameter

the method parameter to check

Returns:boolean

true if this resolver supports the supplied parameter; false otherwise

Annotations
@Override
org.springframework.web.servlet.mvc.method.annotation back to summary

private Class ServletRequestMethodArgumentResolver.PushBuilderDelegate

extends Object
Class Inheritance
  • java.lang.Object
  • org.springframework.web.servlet.mvc.method.annotation.ServletRequestMethodArgumentResolver.PushBuilderDelegate

Inner class to avoid a hard dependency on Servlet API 4.0 at runtime.

Constructor Summary

AccessConstructor and Description
private

Method Summary

Modifier and TypeMethod and Description
public static Object
Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Constructor Detail

PushBuilderDelegateback to summary
private PushBuilderDelegate()

Method Detail

resolvePushBuilderback to summary
public static Object resolvePushBuilder(HttpServletRequest request, Class<?> paramType)
Annotations
@Nullable