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

@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. Entry points are `RequestMappingHandlerMapping` and `RequestMappingHandlerAdapter`.

Related Packages
Package
Description
org.springframework.web.servlet.mvc.method
Servlet-based infrastructure for handler method processing, building on the `org.springframework.web.method` package.
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`.
AbstractMessageConverterMethodArgumentResolver.ConverterType
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, as well as return values of type `HttpEntity`, `ResponseEntity`, `ErrorResponse` and `ProblemDetail`.
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.
MvcUriComponentsBuilder.MethodInvocationInfo
Method invocation information.
PathVariableMapMethodArgumentResolver
Resolves `Map` method arguments annotated with `@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`.
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.
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-level and method-level `@RequestMapping` and `@HttpExchange` 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 `jakarta.servlet.http.Part` in conjunction with Servlet 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`.
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`.
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` including sub-class `SseEmitter` and others.
ResponseEntityExceptionHandler
A class with an `@ExceptionHandler` method that handles all Spring MVC raised exceptions by returning a `ResponseEntity` with RFC 9457 formatted error details in the body.
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.
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.
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.