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