public class RequestMappingHandlerAdapter extends Object implements HandlerAdapter, org.springframework.beans.factory.BeanFactoryAware, org.springframework.beans.factory.InitializingBean
@RequestMapping
methods.Constructor and Description |
---|
RequestMappingHandlerAdapter() |
Modifier and Type | Method and Description |
---|---|
void |
afterPropertiesSet() |
protected InvocableHandlerMethod |
findExceptionHandler(org.springframework.web.method.HandlerMethod handlerMethod,
Exception exception) |
List<HandlerMethodArgumentResolver> |
getArgumentResolvers()
Return the configured argument resolvers.
|
org.springframework.beans.factory.config.ConfigurableBeanFactory |
getBeanFactory() |
org.springframework.core.convert.ConversionService |
getConversionService()
Return the configured ConversionService.
|
List<HandlerMethodArgumentResolver> |
getCustomArgumentResolvers()
Return the custom argument resolvers.
|
List<org.springframework.http.codec.HttpMessageReader<?>> |
getMessageReaders()
Return the configured message readers.
|
org.springframework.core.ReactiveAdapterRegistry |
getReactiveAdapterRegistry() |
org.springframework.validation.Validator |
getValidator()
Return the configured Validator.
|
reactor.core.publisher.Mono<HandlerResult> |
handle(org.springframework.web.server.ServerWebExchange exchange,
Object handler)
Handle the request with the given handler.
|
protected List<HandlerMethodArgumentResolver> |
initArgumentResolvers() |
void |
setArgumentResolvers(List<HandlerMethodArgumentResolver> resolvers)
Configure the complete list of supported argument types thus overriding
the resolvers that would otherwise be configured by default.
|
void |
setBeanFactory(org.springframework.beans.factory.BeanFactory beanFactory)
A
ConfigurableBeanFactory is expected for resolving expressions
in method argument default values. |
void |
setConversionService(org.springframework.core.convert.ConversionService conversionService)
Configure a ConversionService for type conversion of controller method
arguments as well as for converting from different async types to
Flux and Mono . |
void |
setCustomArgumentResolvers(List<HandlerMethodArgumentResolver> argumentResolvers)
Provide custom argument resolvers without overriding the built-in ones.
|
void |
setMessageReaders(List<org.springframework.http.codec.HttpMessageReader<?>> messageReaders)
Configure message readers to de-serialize the request body with.
|
void |
setReactiveAdapterRegistry(org.springframework.core.ReactiveAdapterRegistry registry) |
void |
setValidator(org.springframework.validation.Validator validator)
Configure a Validator for validation of controller method arguments such
as
@RequestBody . |
boolean |
supports(Object handler)
Whether this
HandlerAdapter supports the given handler . |
public void setCustomArgumentResolvers(List<HandlerMethodArgumentResolver> argumentResolvers)
public List<HandlerMethodArgumentResolver> getCustomArgumentResolvers()
public void setArgumentResolvers(List<HandlerMethodArgumentResolver> resolvers)
public List<HandlerMethodArgumentResolver> getArgumentResolvers()
public void setMessageReaders(List<org.springframework.http.codec.HttpMessageReader<?>> messageReaders)
public List<org.springframework.http.codec.HttpMessageReader<?>> getMessageReaders()
public void setReactiveAdapterRegistry(org.springframework.core.ReactiveAdapterRegistry registry)
public org.springframework.core.ReactiveAdapterRegistry getReactiveAdapterRegistry()
public void setConversionService(org.springframework.core.convert.ConversionService conversionService)
Flux
and Mono
.
TODO: this may be replaced by DataBinderpublic org.springframework.core.convert.ConversionService getConversionService()
public void setValidator(org.springframework.validation.Validator validator)
@RequestBody
.
TODO: this may be replaced by DataBinderpublic org.springframework.validation.Validator getValidator()
public void setBeanFactory(org.springframework.beans.factory.BeanFactory beanFactory) throws org.springframework.beans.BeansException
ConfigurableBeanFactory
is expected for resolving expressions
in method argument default values.setBeanFactory
in interface org.springframework.beans.factory.BeanFactoryAware
org.springframework.beans.BeansException
public org.springframework.beans.factory.config.ConfigurableBeanFactory getBeanFactory()
public void afterPropertiesSet() throws Exception
afterPropertiesSet
in interface org.springframework.beans.factory.InitializingBean
Exception
protected List<HandlerMethodArgumentResolver> initArgumentResolvers()
public 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(org.springframework.web.server.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.protected InvocableHandlerMethod findExceptionHandler(org.springframework.web.method.HandlerMethod handlerMethod, Exception exception)