@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