Spring Framework

org.springframework.web.bind.annotation
Annotation Type RequestPart


@Target(value=PARAMETER)
@Retention(value=RUNTIME)
@Documented
public @interface RequestPart

Annotation that can be used to associate the part of a "multipart/form-data" request with a method argument. 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).

Since:
3.1
Author:
Rossen Stoyanchev, Arjen Poutsma
See Also:
RequestParam, RequestMappingHandlerAdapter

Optional Element Summary
 boolean required
          Whether the part is required.
 java.lang.String value
          The name of the part in the "multipart/form-data" request to bind to.
 

value

public abstract java.lang.String value
The name of the part in the "multipart/form-data" request to bind to.

Default:
""

required

public abstract boolean required
Whether the part is 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.

Default:
true

Spring Framework