Class ObjectToStringHttpMessageConverter
- java.lang.Object
- org.springframework.http.converter.AbstractHttpMessageConverter<Object>
- org.springframework.http.converter.ObjectToStringHttpMessageConverter
- All Implemented Interfaces:
HttpMessageConverter<Object>
public class ObjectToStringHttpMessageConverter extends AbstractHttpMessageConverter<Object>
AnHttpMessageConverterthat usesStringHttpMessageConverterfor reading and writing content and aConversionServicefor converting the String content to and from the target object type.By default, this converter supports the media type
text/plainonly. This can be overridden through thesupportedMediaTypesproperty.A usage example:
<bean class="org.springframework.http.converter.ObjectToStringHttpMessageConverter"> <constructor-arg> <bean class="org.springframework.context.support.ConversionServiceFactoryBean"/> </constructor-arg> </bean>- Since:
- 3.2
- Author:
- Dmitry Katsubo, Rossen Stoyanchev
Field Summary
Fields inherited from class org.springframework.http.converter.AbstractHttpMessageConverter
logger
Constructor Summary
Constructors Constructor Description ObjectToStringHttpMessageConverter(ConversionService conversionService)A constructor accepting aConversionServiceto use to convert the (String) message body to/from the target class type.ObjectToStringHttpMessageConverter(ConversionService conversionService, Charset defaultCharset)A constructor accepting aConversionServiceas well as a default charset.
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleancanRead(Class<?> clazz, MediaType mediaType)This implementation checks if the given class is supported, and if the supported media typesinclude the given media type.booleancanWrite(Class<?> clazz, MediaType mediaType)protected LonggetContentLength(Object obj, MediaType contentType)Returns the content length for the given type.protected ObjectreadInternal(Class<?> clazz, HttpInputMessage inputMessage)Abstract template method that reads the actual object.voidsetWriteAcceptCharset(boolean writeAcceptCharset)Indicates whether theAccept-Charsetshould be written to any outgoing request.protected booleansupports(Class<?> clazz)Indicates whether the given class is supported by this converter.protected voidwriteInternal(Object obj, HttpOutputMessage outputMessage)Abstract template method that writes the actual body.Methods inherited from class org.springframework.http.converter.AbstractHttpMessageConverter
addDefaultHeaders, canRead, canWrite, getDefaultCharset, getDefaultContentType, getSupportedMediaTypes, read, setDefaultCharset, setSupportedMediaTypes, write
Constructor Detail
ObjectToStringHttpMessageConverter
public ObjectToStringHttpMessageConverter(ConversionService conversionService)
A constructor accepting aConversionServiceto use to convert the (String) message body to/from the target class type. This constructor usesStringHttpMessageConverter.DEFAULT_CHARSETas the default charset.- Parameters:
conversionService- the conversion service
ObjectToStringHttpMessageConverter
public ObjectToStringHttpMessageConverter(ConversionService conversionService, Charset defaultCharset)
A constructor accepting aConversionServiceas well as a default charset.- Parameters:
conversionService- the conversion servicedefaultCharset- the default charset
Method Detail
setWriteAcceptCharset
public void setWriteAcceptCharset(boolean writeAcceptCharset)
Indicates whether theAccept-Charsetshould be written to any outgoing request.Default is
true.
canRead
public boolean canRead(Class<?> clazz, MediaType mediaType)
Description copied from class:AbstractHttpMessageConverterThis implementation checks if the given class is supported, and if the supported media typesinclude the given media type.- Specified by:
canReadin interfaceHttpMessageConverter<Object>- Overrides:
canReadin classAbstractHttpMessageConverter<Object>- Parameters:
clazz- the class to test for readabilitymediaType- the media type to read (can benullif not specified); typically the value of aContent-Typeheader.- Returns:
trueif readable;falseotherwise
canWrite
public boolean canWrite(Class<?> clazz, MediaType mediaType)
Description copied from class:AbstractHttpMessageConverterThis implementation checks if the given class is supported, and if the supported media types include the given media type.- Specified by:
canWritein interfaceHttpMessageConverter<Object>- Overrides:
canWritein classAbstractHttpMessageConverter<Object>- Parameters:
clazz- the class to test for writabilitymediaType- the media type to write (can benullif not specified); typically the value of anAcceptheader.- Returns:
trueif writable;falseotherwise
supports
protected boolean supports(Class<?> clazz)
Description copied from class:AbstractHttpMessageConverterIndicates whether the given class is supported by this converter.- Specified by:
supportsin classAbstractHttpMessageConverter<Object>- Parameters:
clazz- the class to test for support- Returns:
trueif supported;falseotherwise
readInternal
protected Object readInternal(Class<?> 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<Object>- 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
writeInternal
protected void writeInternal(Object obj, 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<Object>- Parameters:
obj- the object to write to the output messageoutputMessage- the HTTP output message to write to- Throws:
IOException- in case of I/O errors
getContentLength
protected Long getContentLength(Object obj, 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<Object>- Parameters:
obj- the type to return the content length for- Returns:
- the content length, or
nullif not known