Class InvocableHandlerMethod
java.lang.Object
org.springframework.core.annotation.AnnotatedMethod
org.springframework.web.method.HandlerMethod
org.springframework.web.reactive.result.method.InvocableHandlerMethod
Extension of
HandlerMethod that invokes the underlying method with
argument values resolved from the current HTTP request through a list of
HandlerMethodArgumentResolver.- Since:
- 5.0
- Author:
- Rossen Stoyanchev, Juergen Hoeller, Sebastien Deleuze
-
Nested Class Summary
Nested classes/interfaces inherited from class org.springframework.core.annotation.AnnotatedMethod
AnnotatedMethod.AnnotatedMethodParameter -
Field Summary
Fields inherited from class org.springframework.web.method.HandlerMethod
logger -
Constructor Summary
ConstructorsConstructorDescriptionInvocableHandlerMethod(Object bean, Method method) Create an instance from a bean instance and a method.InvocableHandlerMethod(HandlerMethod handlerMethod) Create an instance from aHandlerMethod. -
Method Summary
Modifier and TypeMethodDescriptionReturn the configured parameter name discoverer.Return the configured argument resolvers.reactor.core.publisher.Mono<HandlerResult>invoke(ServerWebExchange exchange, BindingContext bindingContext, Object... providedArgs) Invoke the method for the given exchange.voidsetArgumentResolvers(List<? extends HandlerMethodArgumentResolver> resolvers) Configure the argument resolvers to use for resolving method argument values against aServerWebExchange.voidsetMethodValidator(MethodValidator methodValidator) Set theMethodValidatorto perform method validation with if the controller methodHandlerMethod.shouldValidateArguments()orHandlerMethod.shouldValidateReturnValue().voidsetParameterNameDiscoverer(ParameterNameDiscoverer nameDiscoverer) Set the ParameterNameDiscoverer for resolving parameter names when needed (e.g.voidConfigure a reactive adapter registry.Methods inherited from class org.springframework.web.method.HandlerMethod
assertTargetBean, createWithResolvedBean, createWithValidateFlags, equals, formatInvokeError, getBean, getBeanType, getContainingClass, getResolvedFromHandlerMethod, getResponseStatus, getResponseStatusReason, getShortLogMessage, hashCode, shouldValidateArguments, shouldValidateReturnValue, toStringMethods inherited from class org.springframework.core.annotation.AnnotatedMethod
findProvidedArgument, formatArgumentError, getBridgedMethod, getMethod, getMethodAnnotation, getMethodParameters, getReturnType, getReturnValueType, hasMethodAnnotation, isVoid
-
Constructor Details
-
InvocableHandlerMethod
Create an instance from aHandlerMethod. -
InvocableHandlerMethod
Create an instance from a bean instance and a method.
-
-
Method Details
-
setArgumentResolvers
Configure the argument resolvers to use for resolving method argument values against aServerWebExchange. -
getResolvers
Return the configured argument resolvers. -
setParameterNameDiscoverer
Set the ParameterNameDiscoverer for resolving parameter names when needed (e.g. default request attribute name).Default is a
DefaultParameterNameDiscoverer. -
getParameterNameDiscoverer
Return the configured parameter name discoverer. -
setReactiveAdapterRegistry
Configure a reactive adapter registry. This is needed for cases where the response is fully handled within the controller in combination with an async void return value.By default this is a
ReactiveAdapterRegistrywith default settings. -
setMethodValidator
Set theMethodValidatorto perform method validation with if the controller methodHandlerMethod.shouldValidateArguments()orHandlerMethod.shouldValidateReturnValue().- Since:
- 6.1
-
invoke
public reactor.core.publisher.Mono<HandlerResult> invoke(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
-