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
Fields inherited from class org.springframework.http.converter.AbstractHttpMessageConverter
logger
-
Constructor Summary
ConstructorDescriptionA 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 void
addDefaultHeaders
(HttpHeaders headers, String s, MediaType type) Add default headers to the output message.Return the list of supportedCharsets
.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 theAccept-Charset
header should be written to any outgoing request sourced from the value ofCharset.availableCharsets()
.boolean
Indicates whether the given class is supported by this converter.protected boolean
Indicates whether this message converter can write the given object multiple times.protected void
writeInternal
(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
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.springframework.http.converter.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-Charset
header 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: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
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
-
addDefaultHeaders
protected void addDefaultHeaders(HttpHeaders headers, String s, @Nullable MediaType type) throws IOException Description copied from class:AbstractHttpMessageConverter
Add 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:
addDefaultHeaders
in classAbstractHttpMessageConverter<String>
- Throws:
IOException
-
writeInternal
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
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:AbstractHttpMessageConverter
Indicates whether this message converter can write the given object multiple times.Default implementation returns
false
.- Overrides:
supportsRepeatableWrites
in classAbstractHttpMessageConverter<String>
- Parameters:
s
- the object t- Returns:
true
ift
can be written repeatedly;false
otherwise
-