Annotation Interface RequestPart
Supported method argument types include MultipartFile
in conjunction with
Spring's MultipartResolver
abstraction, jakarta.servlet.http.Part
in
conjunction with Servlet 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).
- Since:
- 3.1
- Author:
- Rossen Stoyanchev, Arjen Poutsma, Sam Brannen
- See Also:
-
Optional Element Summary
-
Element Details
-
value
Alias forname()
.- Default:
- ""
-
name
The name of the part in the"multipart/form-data"
request to bind to.- Since:
- 4.2
- Default:
- ""
-
required
boolean requiredWhether the part is required.Defaults to
true
, leading to an exception being thrown if the part is missing in the request. Switch this tofalse
if you prefer anull
value if the part is not present in the request.- Default:
- true
-