@NonNullApi @NonNullFields

# Package org.springframework.web.servlet.mvc.method.annotation

MVC infrastructure for annotation-based handler method processing, building on the `org.springframework.web.method.annotation` package.

See: Description

- Interface Summary
  Interface | Description
  --- | ---
  MvcUriComponentsBuilder.MethodInvocationInfo | Method invocation information.
  RequestBodyAdvice | Allows customizing the request before its body is read and converted into an Object and also allows for processing of the resulting Object before it is passed into a controller method as an `@RequestBody` or an `HttpEntity` method argument.
  ResponseBodyAdvice<T> | Allows customizing the response after the execution of an `@ResponseBody` or a `ResponseEntity` controller method but before the body is written with an `HttpMessageConverter`.
  SseEmitter.SseEventBuilder | A builder for an SSE event.
  StreamingResponseBody | A controller method return value type for asynchronous request processing where the application can write directly to the response `OutputStream` without holding up the Servlet container thread.

- Class Summary
  Class | Description
  --- | ---
  AbstractMappingJacksonResponseBodyAdvice | A convenient base class for `ResponseBodyAdvice` implementations that customize the response before JSON serialization with `AbstractJackson2HttpMessageConverter`'s concrete subclasses.
  AbstractMessageConverterMethodArgumentResolver | A base class for resolving method argument values by reading from the body of a request with `HttpMessageConverters`.
  AbstractMessageConverterMethodProcessor | Extends `AbstractMessageConverterMethodArgumentResolver` with the ability to handle method return values by writing to the response with `HttpMessageConverters`.
  AsyncTaskMethodReturnValueHandler | Handles return values of type `WebAsyncTask`.
  CallableMethodReturnValueHandler | Handles return values of type `Callable`.
  ContinuationHandlerMethodArgumentResolver | No-op resolver for method arguments of type `Continuation`.
  DeferredResultMethodReturnValueHandler | Handler for return values of type `DeferredResult`, `ListenableFuture`, and `CompletionStage`.
  ExceptionHandlerExceptionResolver | An `AbstractHandlerMethodExceptionResolver` that resolves exceptions through `@ExceptionHandler` methods.
  ExtendedServletRequestDataBinder | Subclass of `ServletRequestDataBinder` that adds URI template variables to the values used for data binding.
  HttpEntityMethodProcessor | Resolves `HttpEntity` and `RequestEntity` method argument values and also handles `HttpEntity` and `ResponseEntity` return values.
  HttpHeadersReturnValueHandler | Handles `HttpHeaders` return values.
  JsonViewRequestBodyAdvice | A `RequestBodyAdvice` implementation that adds support for Jackson's `@JsonView` annotation declared on a Spring MVC `@HttpEntity` or `@RequestBody` method parameter.
  JsonViewResponseBodyAdvice | A `ResponseBodyAdvice` implementation that adds support for Jackson's `@JsonView` annotation declared on a Spring MVC `@RequestMapping` or `@ExceptionHandler` method.
  MatrixVariableMapMethodArgumentResolver | Resolves arguments of type `Map` annotated with `@MatrixVariable` where the annotation does not specify a name.
  MatrixVariableMethodArgumentResolver | Resolves arguments annotated with `@MatrixVariable`.
  ModelAndViewMethodReturnValueHandler | Handles return values of type `ModelAndView` copying view and model information to the `ModelAndViewContainer`.
  ModelAndViewResolverMethodReturnValueHandler | This return value handler is intended to be ordered after all others as it attempts to handle _any_ return value type (i.e.
  MvcUriComponentsBuilder | Creates instances of `UriComponentsBuilder` by pointing to `@RequestMapping` methods on Spring MVC controllers.
  MvcUriComponentsBuilder.MethodArgumentBuilder | Builder class to create URLs for method arguments.
  PathVariableMapMethodArgumentResolver | Resolves `Map` method arguments annotated with an @`PathVariable` where the annotation does not specify a path variable name.
  PathVariableMethodArgumentResolver | Resolves method arguments annotated with an @`PathVariable`.
  PrincipalMethodArgumentResolver | Resolves an argument of type `Principal`, similar to `ServletRequestMethodArgumentResolver` but irrespective of whether the argument is annotated or not.
  RedirectAttributesMethodArgumentResolver | Resolves method arguments of type `RedirectAttributes`.
  RequestAttributeMethodArgumentResolver | Resolves method arguments annotated with an @`RequestAttribute`.
  RequestBodyAdviceAdapter | A convenient starting point for implementing `RequestBodyAdvice` with default method implementations.
  RequestMappingHandlerAdapter | Extension of `AbstractHandlerMethodAdapter` that supports `@RequestMapping` annotated `HandlerMethods`.
  RequestMappingHandlerMapping | Creates `RequestMappingInfo` instances from type and method-level `@RequestMapping` annotations in `@Controller` classes.
  RequestPartMethodArgumentResolver | Resolves the following method arguments: Annotated with @`RequestPart` Of type `MultipartFile` in conjunction with Spring's `MultipartResolver` abstraction Of type `javax.servlet.http.Part` in conjunction with Servlet 3.0 multipart requests
  RequestResponseBodyMethodProcessor | Resolves method arguments annotated with `@RequestBody` and handles return values from methods annotated with `@ResponseBody` by reading and writing to the body of the request or response with an `HttpMessageConverter`.
  ResponseBodyEmitter | A controller method return value type for asynchronous request processing where one or more objects are written to the response.
  ResponseBodyEmitter.DataWithMediaType | A simple holder of data to be written along with a MediaType hint for selecting a message converter to write with.
  ResponseBodyEmitterReturnValueHandler | Handler for return values of type `ResponseBodyEmitter` and subclasses such as `SseEmitter` including the same types wrapped with `ResponseEntity`.
  ResponseEntityExceptionHandler | A convenient base class for `@ControllerAdvice` classes that wish to provide centralized exception handling across all `@RequestMapping` methods through `@ExceptionHandler` methods.
  ServletCookieValueMethodArgumentResolver | An `AbstractCookieValueMethodArgumentResolver` that resolves cookie values from an `HttpServletRequest`.
  ServletInvocableHandlerMethod | Extends `InvocableHandlerMethod` with the ability to handle return values through a registered `HandlerMethodReturnValueHandler` and also supports setting the response status based on a method-level `@ResponseStatus` annotation.
  ServletModelAttributeMethodProcessor | A Servlet-specific `ModelAttributeMethodProcessor` that applies data binding through a WebDataBinder of type `ServletRequestDataBinder`.
  ServletRequestDataBinderFactory | Creates a `ServletRequestDataBinder`.
  ServletRequestMethodArgumentResolver | Resolves servlet backed request-related method arguments.
  ServletResponseMethodArgumentResolver | Resolves servlet backed response-related method arguments.
  ServletWebArgumentResolverAdapter | A Servlet-specific `AbstractWebArgumentResolverAdapter` that creates a `NativeWebRequest` from `ServletRequestAttributes`.
  SessionAttributeMethodArgumentResolver | Resolves method arguments annotated with an @`SessionAttribute`.
  SseEmitter | A specialization of `ResponseBodyEmitter` for sending Server-Sent Events.
  StreamingResponseBodyReturnValueHandler | Supports return values of type `StreamingResponseBody` and also `ResponseEntity<StreamingResponseBody>`.
  UriComponentsBuilderMethodArgumentResolver | Resolvers argument values of type `UriComponentsBuilder`.
  ViewMethodReturnValueHandler | Handles return values that are of type `View`.
  ViewNameMethodReturnValueHandler | Handles return values of types `void` and `String` interpreting them as view name reference.

## Package org.springframework.web.servlet.mvc.method.annotation Description

MVC infrastructure for annotation-based handler method processing, building on the `org.springframework.web.method.annotation` package. Entry points are `RequestMappingHandlerMapping` and `RequestMappingHandlerAdapter`.