@Target(value=PARAMETER)
@Retention(value=RUNTIME)
@Documented
public @interface RequestPart
Supported method argument types include MultipartFile
in conjunction with
Spring's MultipartResolver
abstraction, javax.servlet.http.Part
in
conjunction with Servlet 3.0 multipart requests, or otherwise for any other method
argument, the content of the part is passed through an HttpMessageConverter
taking into consideration the 'Content-Type' header of the request part. This is
analogous to what @RequestBody
does to resolve an argument based on the
content of a non-multipart regular request.
Note that @RequestParam
annotation can also be used to associate the part
of a "multipart/form-data" request with a method argument supporting the same method
argument types. The main difference is that when the method argument is not a String
or raw MultipartFile
/ Part
, @RequestParam
relies on type
conversion via a registered Converter
or PropertyEditor
while
RequestPart
relies on HttpMessageConverters
taking into consideration the 'Content-Type' header of the request part.
RequestParam
is likely to be used with name-value form fields while
RequestPart
is likely to be used with parts containing more complex content
e.g. JSON, XML).
RequestParam
,
RequestMappingHandlerAdapter