public class RequestMappingHandlerAdapter extends Object implements HandlerAdapter, ApplicationContextAware, InitializingBean
@RequestMapping
handler methods.Constructor and Description |
---|
RequestMappingHandlerAdapter() |
Modifier and Type | Method and Description |
---|---|
void |
afterPropertiesSet()
Invoked by the containing
BeanFactory after it has set all bean properties
and satisfied BeanFactoryAware , ApplicationContextAware etc. |
ArgumentResolverConfigurer |
getArgumentResolverConfigurer()
Return the configured resolvers for controller method arguments.
|
List<HttpMessageReader<?>> |
getMessageReaders()
Return the configurer for HTTP message readers.
|
ReactiveAdapterRegistry |
getReactiveAdapterRegistry()
Return the configured registry for adapting reactive types.
|
WebBindingInitializer |
getWebBindingInitializer()
Return the configured WebBindingInitializer, or
null if none. |
reactor.core.publisher.Mono<HandlerResult> |
handle(ServerWebExchange exchange,
Object handler)
Handle the request with the given handler.
|
void |
setApplicationContext(ApplicationContext applicationContext)
A
ConfigurableApplicationContext is expected for resolving
expressions in method argument default values as well as for
detecting @ControllerAdvice beans. |
void |
setArgumentResolverConfigurer(ArgumentResolverConfigurer configurer)
Configure resolvers for controller method arguments.
|
void |
setMessageReaders(List<HttpMessageReader<?>> messageReaders)
Configure HTTP message readers to de-serialize the request body with.
|
void |
setReactiveAdapterRegistry(ReactiveAdapterRegistry registry)
Configure the registry for adapting various reactive types.
|
void |
setWebBindingInitializer(WebBindingInitializer webBindingInitializer)
Provide a WebBindingInitializer with "global" initialization to apply
to every DataBinder instance.
|
boolean |
supports(Object handler)
Whether this
HandlerAdapter supports the given handler . |
public void setMessageReaders(List<HttpMessageReader<?>> messageReaders)
By default this is set to ServerCodecConfigurer
's readers with defaults.
public List<HttpMessageReader<?>> getMessageReaders()
public void setWebBindingInitializer(@Nullable WebBindingInitializer webBindingInitializer)
@Nullable public WebBindingInitializer getWebBindingInitializer()
null
if none.public void setArgumentResolverConfigurer(@Nullable ArgumentResolverConfigurer configurer)
@Nullable public ArgumentResolverConfigurer getArgumentResolverConfigurer()
public void setReactiveAdapterRegistry(@Nullable ReactiveAdapterRegistry registry)
By default this is an instance of ReactiveAdapterRegistry
with
default settings.
@Nullable public ReactiveAdapterRegistry getReactiveAdapterRegistry()
public void setApplicationContext(ApplicationContext applicationContext)
ConfigurableApplicationContext
is expected for resolving
expressions in method argument default values as well as for
detecting @ControllerAdvice
beans.setApplicationContext
in interface ApplicationContextAware
applicationContext
- the ApplicationContext object to be used by this objectBeanInitializationException
public void afterPropertiesSet() throws Exception
InitializingBean
BeanFactory
after it has set all bean properties
and satisfied BeanFactoryAware
, ApplicationContextAware
etc.
This method allows the bean instance to perform validation of its overall configuration and final initialization when all bean properties have been set.
afterPropertiesSet
in interface InitializingBean
Exception
- in the event of misconfiguration (such as failure to set an
essential property) or if initialization fails for any other reasonpublic boolean supports(Object handler)
HandlerAdapter
HandlerAdapter
supports the given handler
.supports
in interface HandlerAdapter
handler
- handler object to checkpublic reactor.core.publisher.Mono<HandlerResult> handle(ServerWebExchange exchange, Object handler)
HandlerAdapter
Implementations are encouraged to handle exceptions resulting from the invocation of a handler in order and if necessary to return an alternate result that represents an error response.
Furthermore since an async HandlerResult
may produce an error
later during result handling implementations are also encouraged to
set an exception
handler
on the HandlerResult
so that may also be applied later
after result handling.
handle
in interface HandlerAdapter
exchange
- current server exchangehandler
- the selected handler which must have been previously
checked via HandlerAdapter.supports(Object)
Mono
that emits a single HandlerResult
or none if
the request has been fully handled and doesn't require further handling.