Class StringHttpMessageConverter
- java.lang.Object
- org.springframework.http.converter.AbstractHttpMessageConverter<String>
- org.springframework.http.converter.StringHttpMessageConverter
- All Implemented Interfaces:
HttpMessageConverter<String>
public class StringHttpMessageConverter extends AbstractHttpMessageConverter<String>
Implementation ofHttpMessageConverterthat can read and write strings.By default, this converter supports all media types (
*/*), and writes with aContent-Typeoftext/plain. This can be overridden by setting thesupportedMediaTypesproperty.- Since:
- 3.0
- Author:
- Arjen Poutsma, Juergen Hoeller
Field Summary
Fields Modifier and Type Field Description static CharsetDEFAULT_CHARSETThe default charset used by the converter.Fields inherited from class org.springframework.http.converter.AbstractHttpMessageConverter
logger
Constructor Summary
Constructors Constructor Description StringHttpMessageConverter()A 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
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voidaddDefaultHeaders(HttpHeaders headers, String s, MediaType type)Add default headers to the output message.protected List<Charset>getAcceptedCharsets()Return the list of supportedCharsets.protected LonggetContentLength(String str, 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().booleansupports(Class<?> clazz)Indicates whether the given class is supported by this converter.protected voidwriteInternal(String str, HttpOutputMessage outputMessage)Abstract template method that writes the actual body.Methods inherited from class org.springframework.http.converter.AbstractHttpMessageConverter
canRead, canRead, canWrite, canWrite, getDefaultCharset, getDefaultContentType, getSupportedMediaTypes, read, setDefaultCharset, setSupportedMediaTypes, write
Field Detail
DEFAULT_CHARSET
public static final Charset DEFAULT_CHARSET
The default charset used by the converter.
Constructor Detail
StringHttpMessageConverter
public StringHttpMessageConverter()
A default constructor that uses"ISO-8859-1"as the default charset.- See Also:
StringHttpMessageConverter(Charset)
StringHttpMessageConverter
public StringHttpMessageConverter(Charset defaultCharset)
A constructor accepting a default charset to use if the requested content type does not specify one.
Method Detail
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
public boolean supports(Class<?> clazz)
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(java.lang.Class<? extends T>, org.springframework.http.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
protected Long getContentLength(String str, @Nullable MediaType contentType)
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, org.springframework.http.MediaType), and sets the corresponding headers.- Overrides:
addDefaultHeadersin classAbstractHttpMessageConverter<String>- Throws:
IOException
writeInternal
protected void writeInternal(String str, HttpOutputMessage outputMessage) throws IOException
Description copied from class:AbstractHttpMessageConverterAbstract template method that writes the actual body. Invoked fromAbstractHttpMessageConverter.write(T, org.springframework.http.MediaType, org.springframework.http.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
protected List<Charset> getAcceptedCharsets()
Return the list of supportedCharsets.By default, returns
Charset.availableCharsets(). Can be overridden in subclasses.- Returns:
- the list of accepted charsets