Class SyncInvocableHandlerMethod
- java.lang.Object
- org.springframework.web.method.HandlerMethod
- org.springframework.web.reactive.result.method.SyncInvocableHandlerMethod
public class SyncInvocableHandlerMethod extends HandlerMethod
Extension ofHandlerMethod
that invokes the underlying method viaInvocableHandlerMethod
but uses sync argument resolvers only and thus can return directly aHandlerResult
with no async wrappers.- Since:
- 5.0
- Author:
- Rossen Stoyanchev
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 SyncInvocableHandlerMethod(Object bean, Method method)
SyncInvocableHandlerMethod(HandlerMethod handlerMethod)
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description ParameterNameDiscoverer
getParameterNameDiscoverer()
Return the configured parameter name discoverer.List<SyncHandlerMethodArgumentResolver>
getResolvers()
Return the configured argument resolvers.HandlerResult
invokeForHandlerResult(ServerWebExchange exchange, BindingContext bindingContext, Object... providedArgs)
Invoke the method for the given exchange.void
setArgumentResolvers(List<SyncHandlerMethodArgumentResolver> resolvers)
Configure the argument resolvers to use to use for resolving method argument values against aServerWebExchange
.void
setParameterNameDiscoverer(ParameterNameDiscoverer nameDiscoverer)
Set the ParameterNameDiscoverer for resolving parameter names when needed (e.g.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 Detail
SyncInvocableHandlerMethod
public SyncInvocableHandlerMethod(HandlerMethod handlerMethod)
SyncInvocableHandlerMethod
public SyncInvocableHandlerMethod(Object bean, Method method)
Method Detail
setArgumentResolvers
public void setArgumentResolvers(List<SyncHandlerMethodArgumentResolver> resolvers)
Configure the argument resolvers to use to use for resolving method argument values against aServerWebExchange
.
getResolvers
public List<SyncHandlerMethodArgumentResolver> getResolvers()
Return the configured argument resolvers.
setParameterNameDiscoverer
public void setParameterNameDiscoverer(ParameterNameDiscoverer nameDiscoverer)
Set the ParameterNameDiscoverer for resolving parameter names when needed (e.g. default request attribute name).Default is a
DefaultParameterNameDiscoverer
.
getParameterNameDiscoverer
public ParameterNameDiscoverer getParameterNameDiscoverer()
Return the configured parameter name discoverer.
invokeForHandlerResult
@Nullable public HandlerResult invokeForHandlerResult(ServerWebExchange exchange, BindingContext bindingContext, Object... providedArgs)
Invoke the method for the given exchange.- Parameters:
exchange
- the current exchangebindingContext
- the binding context to useprovidedArgs
- optional list of argument values to match by type- Returns:
- a Mono with a
HandlerResult
. - Throws:
ServerErrorException
- if method argument resolution or method invocation fails