Class StringHttpMessageConverter
java.lang.Object
org.springframework.http.converter.AbstractHttpMessageConverter<String>
org.springframework.http.converter.StringHttpMessageConverter
- All Implemented Interfaces:
HttpMessageConverter<String>
Implementation of
HttpMessageConverter that can read and write strings.
By default, this converter supports all media types (*/*),
and writes with a Content-Type of text/plain. This can be overridden
by setting the supportedMediaTypes property.
- Since:
- 3.0
- Author:
- Arjen Poutsma, Juergen Hoeller
-
Field Summary
FieldsFields inherited from class AbstractHttpMessageConverter
logger -
Constructor Summary
ConstructorsConstructorDescriptionA default constructor that uses"ISO-8859-1"as the default charset.StringHttpMessageConverter(Charset defaultCharset) A constructor accepting a default charset to use if the requested content type does not specify one. -
Method Summary
Modifier and TypeMethodDescriptionprotected voidaddDefaultHeaders(HttpHeaders headers, String s, @Nullable MediaType type) Add default headers to the output message.Return the list of supportedCharsets.protected LonggetContentLength(String str, @Nullable MediaType contentType) Returns the content length for the given type.protected StringreadInternal(Class<? extends String> clazz, HttpInputMessage inputMessage) Abstract template method that reads the actual object.voidsetWriteAcceptCharset(boolean writeAcceptCharset) Whether theAccept-Charsetheader should be written to any outgoing request sourced from the value ofCharset.availableCharsets().booleanIndicates whether the given class is supported by this converter.protected booleanIndicates whether this message converter can write the given object multiple times.protected voidwriteInternal(String str, HttpOutputMessage outputMessage) Abstract template method that writes the actual body.Methods inherited from class AbstractHttpMessageConverter
canRead, canRead, canWrite, canWrite, getDefaultCharset, getDefaultContentType, getSupportedMediaTypes, read, setDefaultCharset, setSupportedMediaTypes, writeMethods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface HttpMessageConverter
getSupportedMediaTypes
-
Field Details
-
DEFAULT_CHARSET
The default charset used by the converter.
-
-
Constructor Details
-
StringHttpMessageConverter
public StringHttpMessageConverter()A default constructor that uses"ISO-8859-1"as the default charset.- See Also:
-
StringHttpMessageConverter
A constructor accepting a default charset to use if the requested content type does not specify one.
-
-
Method Details
-
setWriteAcceptCharset
public void setWriteAcceptCharset(boolean writeAcceptCharset) Whether theAccept-Charsetheader should be written to any outgoing request sourced from the value ofCharset.availableCharsets(). The behavior is suppressed if the header has already been set.As of 5.2, by default is set to
false. -
supports
Description copied from class:AbstractHttpMessageConverterIndicates whether the given class is supported by this converter.- Specified by:
supportsin classAbstractHttpMessageConverter<String>- Parameters:
clazz- the class to test for support- Returns:
trueif supported;falseotherwise
-
readInternal
protected String readInternal(Class<? extends String> clazz, HttpInputMessage inputMessage) throws IOException Description copied from class:AbstractHttpMessageConverterAbstract template method that reads the actual object. Invoked fromAbstractHttpMessageConverter.read(Class, HttpInputMessage).- Specified by:
readInternalin classAbstractHttpMessageConverter<String>- Parameters:
clazz- the type of object to returninputMessage- the HTTP input message to read from- Returns:
- the converted object
- Throws:
IOException- in case of I/O errors
-
getContentLength
Description copied from class:AbstractHttpMessageConverterReturns the content length for the given type.By default, this returns
null, meaning that the content length is unknown. Can be overridden in subclasses.- Overrides:
getContentLengthin classAbstractHttpMessageConverter<String>- Parameters:
str- the type to return the content length for- Returns:
- the content length, or
nullif not known
-
addDefaultHeaders
protected void addDefaultHeaders(HttpHeaders headers, String s, @Nullable MediaType type) throws IOException Description copied from class:AbstractHttpMessageConverterAdd default headers to the output message.This implementation delegates to
AbstractHttpMessageConverter.getDefaultContentType(Object)if a content type was not provided, set if necessary the default character set, callsAbstractHttpMessageConverter.getContentLength(T, MediaType), and sets the corresponding headers.- Overrides:
addDefaultHeadersin classAbstractHttpMessageConverter<String>- Throws:
IOException
-
writeInternal
Description copied from class:AbstractHttpMessageConverterAbstract template method that writes the actual body. Invoked fromAbstractHttpMessageConverter.write(T, MediaType, HttpOutputMessage).- Specified by:
writeInternalin classAbstractHttpMessageConverter<String>- Parameters:
str- the object to write to the output messageoutputMessage- the HTTP output message to write to- Throws:
IOException- in case of I/O errors
-
getAcceptedCharsets
Return the list of supportedCharsets.By default, returns
Charset.availableCharsets(). Can be overridden in subclasses.- Returns:
- the list of accepted charsets
-
supportsRepeatableWrites
Description copied from class:AbstractHttpMessageConverterIndicates whether this message converter can write the given object multiple times.The default implementation returns
false.- Overrides:
supportsRepeatableWritesin classAbstractHttpMessageConverter<String>- Parameters:
s- the object t- Returns:
trueiftcan be written repeatedly;falseotherwise
-