@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, @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