@Target(value=PARAMETER) @Retention(value=RUNTIME) @Documented public @interface RequestPart
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 HttpMessageConverter
s 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
public abstract String value
public abstract boolean required
Default is true
, leading to an exception thrown in case
of the part missing in the request. Switch this to false
if you prefer a null
in case of the part missing.