public class StringHttpMessageConverter extends AbstractHttpMessageConverter<String>
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.
Modifier and Type | Field and Description |
---|---|
static Charset |
DEFAULT_CHARSET
The default charset used by the converter.
|
logger
Constructor and 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.
|
Modifier and Type | Method and Description |
---|---|
protected void |
addDefaultHeaders(HttpHeaders headers,
String s,
MediaType type)
Add default headers to the output message.
|
protected List<Charset> |
getAcceptedCharsets()
Return the list of supported
Charsets . |
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)
Whether the
Accept-Charset header should be written to any outgoing
request sourced from the value of Charset.availableCharsets() . |
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.
|
canRead, canRead, canWrite, canWrite, getDefaultCharset, getDefaultContentType, getSupportedMediaTypes, read, setDefaultCharset, setSupportedMediaTypes, write
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getSupportedMediaTypes
public static final Charset DEFAULT_CHARSET
public StringHttpMessageConverter()
"ISO-8859-1"
as the default charset.StringHttpMessageConverter(Charset)
public StringHttpMessageConverter(Charset defaultCharset)
public void setWriteAcceptCharset(boolean writeAcceptCharset)
Accept-Charset
header should be written to any outgoing
request sourced from the value of Charset.availableCharsets()
.
The behavior is suppressed if the header has already been set.
As of 5.2, by default is set to false
.
public boolean supports(Class<?> clazz)
AbstractHttpMessageConverter
supports
in class AbstractHttpMessageConverter<String>
clazz
- the class to test for supporttrue
if supported; false
otherwiseprotected String readInternal(Class<? extends String> clazz, HttpInputMessage inputMessage) throws IOException
AbstractHttpMessageConverter
AbstractHttpMessageConverter.read(java.lang.Class<? extends T>, org.springframework.http.HttpInputMessage)
.readInternal
in class AbstractHttpMessageConverter<String>
clazz
- the type of object to returninputMessage
- the HTTP input message to read fromIOException
- in case of I/O errorsprotected Long getContentLength(String str, @Nullable MediaType contentType)
AbstractHttpMessageConverter
By default, this returns null
, meaning that the content length is unknown.
Can be overridden in subclasses.
getContentLength
in class AbstractHttpMessageConverter<String>
str
- the type to return the content length fornull
if not knownprotected void addDefaultHeaders(HttpHeaders headers, String s, @Nullable MediaType type) throws IOException
AbstractHttpMessageConverter
This implementation delegates to AbstractHttpMessageConverter.getDefaultContentType(Object)
if a
content type was not provided, set if necessary the default character set, calls
AbstractHttpMessageConverter.getContentLength(T, org.springframework.http.MediaType)
, and sets the corresponding headers.
addDefaultHeaders
in class AbstractHttpMessageConverter<String>
IOException
protected void writeInternal(String str, HttpOutputMessage outputMessage) throws IOException
AbstractHttpMessageConverter
AbstractHttpMessageConverter.write(T, org.springframework.http.MediaType, org.springframework.http.HttpOutputMessage)
.writeInternal
in class AbstractHttpMessageConverter<String>
str
- the object to write to the output messageoutputMessage
- the HTTP output message to write toIOException
- in case of I/O errorsprotected List<Charset> getAcceptedCharsets()
Charsets
.
By default, returns Charset.availableCharsets()
.
Can be overridden in subclasses.