| 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