Overview | Package | Class | Tree | Deprecated | Index | Help
| Spring Framework
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: REQUIRED | OPTIONAL | DETAIL: ELEMENT

## 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 `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).

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

Overview | Package | Class | Tree | Deprecated | Index | Help
| Spring Framework
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: REQUIRED | OPTIONAL | DETAIL: ELEMENT