@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