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

Class RequestPartMethodArgumentResolver

  • All Implemented Interfaces:
    HandlerMethodArgumentResolver


    public class RequestPartMethodArgumentResolver
    extends AbstractMessageConverterMethodArgumentResolver
    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

    When a parameter is annotated with @RequestPart, the content of the part is passed through an HttpMessageConverter to resolve the method argument with the 'Content-Type' of the request part in mind. This is analogous to what @RequestBody does to resolve an argument based on the content of a regular request.

    When a parameter is not annotated or the name of the part is not specified, it is derived from the name of the method argument.

    Automatic validation may be applied if the argument is annotated with @javax.validation.Valid. In case of validation failure, a MethodArgumentNotValidException is raised and a 400 response status code returned if DefaultHandlerExceptionResolver is configured.

    Since:
    3.1
    Author:
    Rossen Stoyanchev, Brian Clozel, Juergen Hoeller
    • Constructor Detail

      • RequestPartMethodArgumentResolver

        public RequestPartMethodArgumentResolver(java.util.List<HttpMessageConverter<?>> messageConverters)
        Basic constructor with converters only.
      • RequestPartMethodArgumentResolver

        public RequestPartMethodArgumentResolver(java.util.List<HttpMessageConverter<?>> messageConverters,
                                                 java.util.List<java.lang.Object> requestResponseBodyAdvice)
        Constructor with converters and Request~ and ResponseBodyAdvice.