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

## Class RequestPartMethodArgumentResolver

- 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.RequestPartMethodArgumentResolver

All Implemented Interfaces:
  HandlerMethodArgumentResolver

    public class RequestPartMethodArgumentResolver
    extends AbstractMessageReaderArgumentResolver

Resolver for `@RequestPart` arguments where the named part is decoded much like an `@RequestBody` argument but based on the content of an individual part instead. The arguments may be wrapped with a reactive type for a single value (e.g. Reactor `Mono`, RxJava `Single`).

This resolver also supports arguments of type `Part` which may be wrapped with are reactive type for a single or multiple values.

Since:
  5.0
Author:
  Rossen Stoyanchev

### Field Summary

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

`logger`

### Constructor Summary

Constructors
Constructor and Description
`RequestPartMethodArgumentResolver(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 parameter, 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

#### RequestPartMethodArgumentResolver

    public RequestPartMethodArgumentResolver(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 parameter,
                                                               BindingContext bindingContext,
                                                               org.springframework.web.server.ServerWebExchange exchange)

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

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