public class ServletInvocableHandlerMethod extends InvocableHandlerMethod
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.
HandlerMethod.HandlerMethodParameter
logger
Constructor and Description |
---|
ServletInvocableHandlerMethod(HandlerMethod handlerMethod)
Create an instance from a
HandlerMethod . |
ServletInvocableHandlerMethod(Object handler,
Method method)
Creates an instance from the given handler and method.
|
Modifier and Type | Method and Description |
---|---|
void |
invokeAndHandle(ServletWebRequest webRequest,
ModelAndViewContainer mavContainer,
Object... providedArgs)
Invokes the method and handles the return value through one of the
configured
HandlerMethodReturnValueHandler s. |
void |
setHandlerMethodReturnValueHandlers(HandlerMethodReturnValueHandlerComposite returnValueHandlers)
Register
HandlerMethodReturnValueHandler instances to use to
handle return values. |
doInvoke, getDetailedErrorMessage, invokeForRequest, setDataBinderFactory, setHandlerMethodArgumentResolvers, setParameterNameDiscoverer
createWithResolvedBean, equals, getBean, getBeanType, getBridgedMethod, getMethod, getMethodAnnotation, getMethodParameters, getResolvedFromHandlerMethod, getReturnType, getReturnValueType, hashCode, isVoid, toString
public ServletInvocableHandlerMethod(Object handler, Method method)
public ServletInvocableHandlerMethod(HandlerMethod handlerMethod)
HandlerMethod
.public void setHandlerMethodReturnValueHandlers(HandlerMethodReturnValueHandlerComposite returnValueHandlers)
HandlerMethodReturnValueHandler
instances to use to
handle return values.public void invokeAndHandle(ServletWebRequest webRequest, ModelAndViewContainer mavContainer, Object... providedArgs) throws Exception
HandlerMethodReturnValueHandler
s.webRequest
- the current requestmavContainer
- the ModelAndViewContainer for this requestprovidedArgs
- "given" arguments matched by type (not resolved)Exception