Class ServletInvocableHandlerMethod
java.lang.Object
org.springframework.web.method.HandlerMethod
org.springframework.web.method.support.InvocableHandlerMethod
org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod
Extends
InvocableHandlerMethod
with the ability to handle return
values through a registered HandlerMethodReturnValueHandler
and
also supports setting the response status based on a method-level
@ResponseStatus
annotation.
A null
return value (including void) may be interpreted as the
end of request processing in combination with a @ResponseStatus
annotation, a not-modified check condition
(see ServletWebRequest.checkNotModified(long)
), or
a method argument that provides access to the response stream.
- Since:
- 3.1
- Author:
- Rossen Stoyanchev, Juergen Hoeller
-
Nested Class Summary
Nested classes/interfaces inherited from class org.springframework.web.method.HandlerMethod
HandlerMethod.HandlerMethodParameter
-
Field Summary
Fields inherited from class org.springframework.web.method.HandlerMethod
logger
-
Constructor Summary
ConstructorDescriptionServletInvocableHandlerMethod
(Object handler, Method method) Creates an instance from the given handler and method.ServletInvocableHandlerMethod
(Object handler, Method method, MessageSource messageSource) Variant ofServletInvocableHandlerMethod(Object, Method)
that also accepts aMessageSource
, e.g.ServletInvocableHandlerMethod
(HandlerMethod handlerMethod) Create an instance from aHandlerMethod
. -
Method Summary
Modifier and TypeMethodDescriptionvoid
invokeAndHandle
(ServletWebRequest webRequest, ModelAndViewContainer mavContainer, Object... providedArgs) Invoke the method and handle the return value through one of the configuredHandlerMethodReturnValueHandlers
.void
setHandlerMethodReturnValueHandlers
(HandlerMethodReturnValueHandlerComposite returnValueHandlers) RegisterHandlerMethodReturnValueHandler
instances to use to handle return values.Methods inherited from class org.springframework.web.method.support.InvocableHandlerMethod
doInvoke, getMethodArgumentValues, invokeForRequest, invokeSuspendingFunction, setDataBinderFactory, setHandlerMethodArgumentResolvers, setParameterNameDiscoverer
Methods inherited from class org.springframework.web.method.HandlerMethod
assertTargetBean, createWithResolvedBean, equals, findProvidedArgument, formatArgumentError, formatInvokeError, getBean, getBeanType, getBridgedMethod, getMethod, getMethodAnnotation, getMethodParameters, getResolvedFromHandlerMethod, getResponseStatus, getResponseStatusReason, getReturnType, getReturnValueType, getShortLogMessage, hashCode, hasMethodAnnotation, isVoid, toString
-
Constructor Details
-
ServletInvocableHandlerMethod
Creates an instance from the given handler and method. -
ServletInvocableHandlerMethod
public ServletInvocableHandlerMethod(Object handler, Method method, @Nullable MessageSource messageSource) Variant ofServletInvocableHandlerMethod(Object, Method)
that also accepts aMessageSource
, e.g. to resolve@ResponseStatus
messages with.- Since:
- 5.3.10
-
ServletInvocableHandlerMethod
Create an instance from aHandlerMethod
.
-
-
Method Details
-
setHandlerMethodReturnValueHandlers
public void setHandlerMethodReturnValueHandlers(HandlerMethodReturnValueHandlerComposite returnValueHandlers) RegisterHandlerMethodReturnValueHandler
instances to use to handle return values. -
invokeAndHandle
public void invokeAndHandle(ServletWebRequest webRequest, ModelAndViewContainer mavContainer, Object... providedArgs) throws Exception Invoke the method and handle the return value through one of the configuredHandlerMethodReturnValueHandlers
.- Parameters:
webRequest
- the current requestmavContainer
- the ModelAndViewContainer for this requestprovidedArgs
- "given" arguments matched by type (not resolved)- Throws:
Exception
-