org.springframework.web.reactive.result.method

## Interface SyncHandlerMethodArgumentResolver

All Superinterfaces:
  HandlerMethodArgumentResolver

All Known Implementing Classes:
  AbstractNamedValueSyncArgumentResolver, CookieValueMethodArgumentResolver, ExpressionValueMethodArgumentResolver, MatrixVariableMapMethodArgumentResolver, MatrixVariableMethodArgumentResolver, ModelMethodArgumentResolver, PathVariableMapMethodArgumentResolver, PathVariableMethodArgumentResolver, RequestAttributeMethodArgumentResolver, RequestHeaderMapMethodArgumentResolver, RequestHeaderMethodArgumentResolver, RequestParamMapMethodArgumentResolver, RequestParamMethodArgumentResolver, ServerWebExchangeMethodArgumentResolver, SessionStatusMethodArgumentResolver

    public interface SyncHandlerMethodArgumentResolver
    extends HandlerMethodArgumentResolver

An extension of `HandlerMethodArgumentResolver` for implementations that are synchronous in nature and do not block to resolve values.

Since:
  5.0
Author:
  Rossen Stoyanchev

### Method Summary

All Methods Instance Methods Abstract Methods Default Methods
`default 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.
`Object` `resolveArgumentValue(org.springframework.core.MethodParameter parameter, BindingContext bindingContext, org.springframework.web.server.ServerWebExchange exchange)` Resolve the value for the method parameter synchronously.

### Methods inherited from interface org.springframework.web.reactive.result.method.HandlerMethodArgumentResolver

`supportsParameter`

### Method Detail

#### resolveArgument

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

By default this simply delegates to `resolveArgumentValue(org.springframework.core.MethodParameter, org.springframework.web.reactive.BindingContext, org.springframework.web.server.ServerWebExchange)` for synchronous resolution.

Specified by:
  `resolveArgument` in interface `HandlerMethodArgumentResolver`
Parameters:
  `parameter` - the method parameter
  `bindingContext` - the binding context to use
  `exchange` - the current exchange
Returns:
  `Mono` for the argument value, possibly empty

#### resolveArgumentValue

    @Nullable
    Object resolveArgumentValue(org.springframework.core.MethodParameter parameter,
                                          BindingContext bindingContext,
                                          org.springframework.web.server.ServerWebExchange exchange)

Resolve the value for the method parameter synchronously.

Parameters:
  `parameter` - the method parameter
  `bindingContext` - the binding context to use
  `exchange` - the current exchange
Returns:
  the resolved value, if any