Package org.springframework.http.codec
Class FormHttpMessageReader
java.lang.Object
org.springframework.http.codec.LoggingCodecSupport
org.springframework.http.codec.FormHttpMessageReader
- All Implemented Interfaces:
- HttpMessageReader<MultiValueMap<String,- String>> 
public class FormHttpMessageReader
extends LoggingCodecSupport
implements HttpMessageReader<MultiValueMap<String,String>> 
Implementation of an 
HttpMessageReader to read HTML form data, i.e.
 request body with media type "application/x-www-form-urlencoded".- Since:
- 5.0
- Author:
- Sebastien Deleuze, Rossen Stoyanchev
- 
Field SummaryFieldsFields inherited from class org.springframework.http.codec.LoggingCodecSupportlogger
- 
Constructor SummaryConstructors
- 
Method SummaryModifier and TypeMethodDescriptionbooleancanRead(ResolvableType elementType, @Nullable MediaType mediaType) Whether the given object type is supported by this reader.Return the configured default charset.intReturn theconfiguredbyte count limit.Return the list of media types supported by this reader.reactor.core.publisher.Flux<MultiValueMap<String,String>> read(ResolvableType elementType, ReactiveHttpInputMessage message, Map<String, Object> hints) Read from the input message and decode to a stream of objects.reactor.core.publisher.Mono<MultiValueMap<String,String>> readMono(ResolvableType elementType, ReactiveHttpInputMessage message, Map<String, Object> hints) Read from the input message and decode to a single object.voidsetDefaultCharset(Charset charset) Set the default character set to use for reading form data when the request Content-Type header does not explicitly specify it.voidsetMaxInMemorySize(int byteCount) Set the max number of bytes for input form data.Methods inherited from class org.springframework.http.codec.LoggingCodecSupportisEnableLoggingRequestDetails, setEnableLoggingRequestDetailsMethods inherited from class java.lang.Objectclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.springframework.http.codec.HttpMessageReadergetReadableMediaTypes, read, readMono
- 
Field Details- 
DEFAULT_CHARSETThe default charset used by the reader.
 
- 
- 
Constructor Details- 
FormHttpMessageReaderpublic FormHttpMessageReader()
 
- 
- 
Method Details- 
setDefaultCharsetSet the default character set to use for reading form data when the request Content-Type header does not explicitly specify it.By default this is set to "UTF-8". 
- 
getDefaultCharsetReturn the configured default charset.
- 
setMaxInMemorySizepublic void setMaxInMemorySize(int byteCount) Set the max number of bytes for input form data. As form data is buffered before it is parsed, this helps to limit the amount of buffering. Once the limit is exceeded,DataBufferLimitExceptionis raised.By default this is set to 256K. - Parameters:
- byteCount- the max number of bytes to buffer, or -1 for unlimited
- Since:
- 5.1.11
 
- 
getMaxInMemorySizepublic int getMaxInMemorySize()Return theconfiguredbyte count limit.- Since:
- 5.1.11
 
- 
canReadDescription copied from interface:HttpMessageReaderWhether the given object type is supported by this reader.- Specified by:
- canReadin interface- HttpMessageReader<MultiValueMap<String,- String>> 
- Parameters:
- elementType- the type of object to check
- mediaType- the media type for the read (possibly- null)
- Returns:
- trueif readable,- falseotherwise
 
- 
readpublic reactor.core.publisher.Flux<MultiValueMap<String,String>> read(ResolvableType elementType, ReactiveHttpInputMessage message, Map<String, Object> hints) Description copied from interface:HttpMessageReaderRead from the input message and decode to a stream of objects.- Specified by:
- readin interface- HttpMessageReader<MultiValueMap<String,- String>> 
- Parameters:
- elementType- the type of objects in the stream which must have been previously checked via- HttpMessageReader.canRead(ResolvableType, MediaType)
- message- the message to read from
- hints- additional information about how to read and decode the input
- Returns:
- the decoded stream of elements
 
- 
readMonopublic reactor.core.publisher.Mono<MultiValueMap<String,String>> readMono(ResolvableType elementType, ReactiveHttpInputMessage message, Map<String, Object> hints) Description copied from interface:HttpMessageReaderRead from the input message and decode to a single object.- Specified by:
- readMonoin interface- HttpMessageReader<MultiValueMap<String,- String>> 
- Parameters:
- elementType- the type of objects in the stream which must have been previously checked via- HttpMessageReader.canRead(ResolvableType, MediaType)
- message- the message to read from
- hints- additional information about how to read and decode the input
- Returns:
- the decoded object
 
- 
getReadableMediaTypesDescription copied from interface:HttpMessageReaderReturn the list of media types supported by this reader. The list may not apply to every possible target element type and calls to this method should typically be guarded viacanWrite(elementType, null). The list may also exclude media types supported only for a specific element type. Alternatively, useHttpMessageReader.getReadableMediaTypes(ResolvableType)for a more precise list.- Specified by:
- getReadableMediaTypesin interface- HttpMessageReader<MultiValueMap<String,- String>> 
- Returns:
- the general list of supported media types
 
 
-