java.lang.Object | |
↳ | org.springframework.http.converter.FormHttpMessageConverter |
Known Direct Subclasses |
Implementation of HttpMessageConverter
that can handle form data, including multipart form data (i.e. file
uploads).
This converter can write the application/x-www-form-urlencoded
and multipart/form-data
media
types, and read the application/x-www-form-urlencoded
) media type (but not multipart/form-data
).
In other words, this converter can read and write 'normal' HTML forms (as MultiValueMap<String, String>
), and it can write multipart form (as MultiValueMap<String, Object>
. When writing multipart, this converter uses other HttpMessageConverters
to write the respective MIME parts. By default, basic converters are registered (supporting
Strings
and Resources
, for instance); these can be overridden by setting the partConverters
property.
For example, the following snippet shows how to submit an HTML form:
RestTemplate template = new RestTemplate(); // FormHttpMessageConverter is configured by default MultiValueMap<String, String> form = new LinkedMultiValueMap<String, String>(); form.add("field 1", "value 1"); form.add("field 2", "value 2"); form.add("field 2", "value 3"); template.postForLocation("http://example.com/myForm", form);
The following snippet shows how to do a file upload:
MultiValueMap<String, Object> parts = new LinkedMultiValueMap<String, Object>(); parts.add("field 1", "value 1"); parts.add("file", new ClassPathResource("myFile.jpg")); template.postForLocation("http://example.com/myFileUpload", parts);
Some methods in this class were inspired by org.apache.commons.httpclient.methods.multipart.MultipartRequestEntity.
Public Constructors | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Public Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Add a message body converter.
| |||||||||||
Indicates whether the given class can be read by this converter.
| |||||||||||
Indicates whether the given class can be written by this converter.
| |||||||||||
Return the list of
MediaType objects supported by this converter. | |||||||||||
Sets the character set used for writing form data.
| |||||||||||
Set the message body converters to use.
| |||||||||||
Protected Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Generate a multipart boundary.
| |||||||||||
Return the filename of the given multipart part.
|
[Expand]
Inherited Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
From class
java.lang.Object
| |||||||||||
From interface
org.springframework.http.converter.HttpMessageConverter
|
Add a message body converter. Such a converters is used to convert objects to MIME parts.
Indicates whether the given class can be read by this converter.
clazz | the class to test for readability |
---|---|
mediaType | the media type to read, can be null if not specified.
Typically the value of a Content-Type header. |
true
if readable; false
otherwise
Indicates whether the given class can be written by this converter.
clazz | the class to test for writability |
---|---|
mediaType | the media type to write, can be null if not specified.
Typically the value of an Accept header. |
true
if writable; false
otherwise
Return the list of MediaType
objects supported by this converter.
Set the message body converters to use. These converters are used to convert objects to MIME parts.
Generate a multipart boundary.
Default implementation returns a random boundary. Can be overridden in subclasses.
Return the filename of the given multipart part. This value will be used for the Content-Disposition
header.
Default implementation returns getFilename()
if the part is a Resource
, and null
in other cases. Can be overridden in subclasses.
part | the part to determine the file name for |
---|
null
if not known