Class InvocableHandlerMethod

java.lang.Object
org.springframework.web.method.HandlerMethod
org.springframework.web.reactive.result.method.InvocableHandlerMethod

public class InvocableHandlerMethod extends HandlerMethod
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
  • Constructor Details

    • InvocableHandlerMethod

      public InvocableHandlerMethod(HandlerMethod handlerMethod)
      Create an instance from a HandlerMethod.
    • InvocableHandlerMethod

      public InvocableHandlerMethod(Object bean, Method method)
      Create an instance from a bean instance and a method.
  • Method Details

    • setArgumentResolvers

      public void setArgumentResolvers(List<? extends HandlerMethodArgumentResolver> resolvers)
      Configure the argument resolvers to use to use for resolving method argument values against a ServerWebExchange.
    • getResolvers

      public List<HandlerMethodArgumentResolver> 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.
    • setReactiveAdapterRegistry

      public void setReactiveAdapterRegistry(ReactiveAdapterRegistry registry)
      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 ReactiveAdapterRegistry with default settings.

    • 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 exchange
      bindingContext - the binding context to use
      providedArgs - optional list of argument values to match by type
      Returns:
      a Mono with a HandlerResult