Class ServletInvocableHandlerMethod
- java.lang.Object
- org.springframework.web.method.HandlerMethod
- org.springframework.web.method.support.InvocableHandlerMethod
- org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod
public class ServletInvocableHandlerMethod extends InvocableHandlerMethod
ExtendsInvocableHandlerMethod
with the ability to handle return values through a registeredHandlerMethodReturnValueHandler
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 (seeServletWebRequest.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
Constructors Constructor Description ServletInvocableHandlerMethod(Object handler, Method method)
Creates an instance from the given handler and method.ServletInvocableHandlerMethod(HandlerMethod handlerMethod)
Create an instance from aHandlerMethod
.
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
invokeAndHandle(ServletWebRequest webRequest, ModelAndViewContainer mavContainer, Object... providedArgs)
Invoke the method and handle the return value through one of the configuredHandlerMethodReturnValueHandler
s.void
setHandlerMethodReturnValueHandlers(HandlerMethodReturnValueHandlerComposite returnValueHandlers)
RegisterHandlerMethodReturnValueHandler
instances to use to handle return values.Methods inherited from class org.springframework.web.method.support.InvocableHandlerMethod
doInvoke, getDetailedErrorMessage, invokeForRequest, setDataBinderFactory, setHandlerMethodArgumentResolvers, setParameterNameDiscoverer
Methods inherited from class org.springframework.web.method.HandlerMethod
createWithResolvedBean, equals, getBean, getBeanType, getBridgedMethod, getMethod, getMethodAnnotation, getMethodParameters, getResolvedFromHandlerMethod, getResponseStatus, getResponseStatusReason, getReturnType, getReturnValueType, getShortLogMessage, hashCode, hasMethodAnnotation, isVoid, toString
Constructor Detail
ServletInvocableHandlerMethod
public ServletInvocableHandlerMethod(Object handler, Method method)
Creates an instance from the given handler and method.
ServletInvocableHandlerMethod
public ServletInvocableHandlerMethod(HandlerMethod handlerMethod)
Create an instance from aHandlerMethod
.
Method Detail
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 configuredHandlerMethodReturnValueHandler
s.- Parameters:
webRequest
- the current requestmavContainer
- the ModelAndViewContainer for this requestprovidedArgs
- "given" arguments matched by type (not resolved)- Throws:
Exception