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 ofHttpMessageConverter
that can read and write strings.By default, this converter supports all media types (
*/*
), and writes with aContent-Type
oftext/plain
. This can be overridden by setting thesupportedMediaTypes
property.- Since:
- 3.0
- Author:
- Arjen Poutsma, Juergen Hoeller
Field Summary
Fields Modifier and Type Field Description static Charset
DEFAULT_CHARSET
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 List<Charset>
getAcceptedCharsets()
Return the list of supportedCharset
s.protected Long
getContentLength(String str, MediaType contentType)
Returns the content length for the given type.protected String
readInternal(Class<? extends String> clazz, HttpInputMessage inputMessage)
Abstract template method that reads the actual object.void
setWriteAcceptCharset(boolean writeAcceptCharset)
Indicates whether theAccept-Charset
should be written to any outgoing request.boolean
supports(Class<?> clazz)
Indicates whether the given class is supported by this converter.protected void
writeInternal(String str, HttpOutputMessage outputMessage)
Abstract template method that writes the actual body.Methods inherited from class org.springframework.http.converter.AbstractHttpMessageConverter
addDefaultHeaders, canRead, canRead, canWrite, canWrite, getDefaultCharset, getDefaultContentType, getSupportedMediaTypes, read, setDefaultCharset, setSupportedMediaTypes, write
Field Detail
DEFAULT_CHARSET
public static final Charset DEFAULT_CHARSET
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)
Indicates whether theAccept-Charset
should be written to any outgoing request.Default is
true
.
supports
public boolean supports(Class<?> clazz)
Description copied from class:AbstractHttpMessageConverter
Indicates whether the given class is supported by this converter.- Specified by:
supports
in classAbstractHttpMessageConverter<String>
- Parameters:
clazz
- the class to test for support- Returns:
true
if supported;false
otherwise
readInternal
protected String readInternal(Class<? extends String> clazz, HttpInputMessage inputMessage) throws IOException
Description copied from class:AbstractHttpMessageConverter
Abstract template method that reads the actual object. Invoked fromAbstractHttpMessageConverter.read(java.lang.Class<? extends T>, org.springframework.http.HttpInputMessage)
.- Specified by:
readInternal
in 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, MediaType contentType)
Description copied from class:AbstractHttpMessageConverter
Returns 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:
getContentLength
in classAbstractHttpMessageConverter<String>
- Parameters:
str
- the type to return the content length for- Returns:
- the content length, or
null
if not known
writeInternal
protected void writeInternal(String str, HttpOutputMessage outputMessage) throws IOException
Description copied from class:AbstractHttpMessageConverter
Abstract template method that writes the actual body. Invoked fromAbstractHttpMessageConverter.write(T, org.springframework.http.MediaType, org.springframework.http.HttpOutputMessage)
.- Specified by:
writeInternal
in 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 supportedCharset
s.By default, returns
Charset.availableCharsets()
. Can be overridden in subclasses.- Returns:
- the list of accepted charsets