org.springframework.web.reactive.result.method.annotation

## Class RequestBodyMethodArgumentResolver

- java.lang.Object
- - org.springframework.web.reactive.result.method.HandlerMethodArgumentResolverSupport
  - - org.springframework.web.reactive.result.method.annotation.AbstractMessageReaderArgumentResolver
    - - org.springframework.web.reactive.result.method.annotation.RequestBodyMethodArgumentResolver

All Implemented Interfaces:
  HandlerMethodArgumentResolver

    public class RequestBodyMethodArgumentResolver
    extends AbstractMessageReaderArgumentResolver

Resolves method arguments annotated with `@RequestBody` by reading the body of the request through a compatible `HttpMessageReader`.

An `@RequestBody` method argument is also validated if it is annotated with `@javax.validation.Valid` or `Validated`. Validation failure results in an `ServerWebInputException`.

Since:
  5.2
Author:
  Sebastien Deleuze, Stephane Maldini, Rossen Stoyanchev

### Field Summary

### Fields inherited from class org.springframework.web.reactive.result.method.HandlerMethodArgumentResolverSupport

`logger`

### Constructor Summary

Constructors
Constructor and Description
`RequestBodyMethodArgumentResolver(List<org.springframework.http.codec.HttpMessageReader<?>> readers, org.springframework.core.ReactiveAdapterRegistry registry)`

### Method Summary

All Methods Instance Methods Concrete Methods
`reactor.core.publisher.Mono<Object>` `resolveArgument(org.springframework.core.MethodParameter param, BindingContext bindingContext, org.springframework.web.server.ServerWebExchange exchange)` Resolve the value for the method parameter.
`boolean` `supportsParameter(org.springframework.core.MethodParameter parameter)` Whether this resolver supports the given method parameter.

### Methods inherited from class org.springframework.web.reactive.result.method.annotation.AbstractMessageReaderArgumentResolver

`getMessageReaders, readBody, readBody`

### Methods inherited from class org.springframework.web.reactive.result.method.HandlerMethodArgumentResolverSupport

`checkAnnotatedParamNoReactiveWrapper, checkParameterType, checkParameterTypeNoReactiveWrapper, getAdapterRegistry`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Constructor Detail

#### RequestBodyMethodArgumentResolver

    public RequestBodyMethodArgumentResolver(List<org.springframework.http.codec.HttpMessageReader<?>> readers,
                                             org.springframework.core.ReactiveAdapterRegistry registry)

### Method Detail

#### supportsParameter

    public boolean supportsParameter(org.springframework.core.MethodParameter parameter)

Description copied from interface: `HandlerMethodArgumentResolver`
Whether this resolver supports the given method parameter.

Parameters:
  `parameter` - the method parameter

#### resolveArgument

    public reactor.core.publisher.Mono<Object> resolveArgument(org.springframework.core.MethodParameter param,
                                                               BindingContext bindingContext,
                                                               org.springframework.web.server.ServerWebExchange exchange)

Description copied from interface: `HandlerMethodArgumentResolver`
Resolve the value for the method parameter.

Parameters:
  `param` - the method parameter
  `bindingContext` - the binding context to use
  `exchange` - the current exchange
Returns:
  `Mono` for the argument value, possibly empty