## org.springframework.http.converter
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 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

Field Summary
`static Charset` `DEFAULT_CHARSET`

Fields inherited from class org.springframework.http.converter.AbstractHttpMessageConverter
`logger`

Constructor Summary
`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
`protected List<Charset>` `getAcceptedCharsets()` Return the list of supported `Charset`.
`protected Long` `getContentLength(String s, MediaType contentType)` Returns the content length for the given type.
`protected String` `readInternal(Class clazz, HttpInputMessage inputMessage)` Abstract template method that reads the actualy object.
`void` `setWriteAcceptCharset(boolean writeAcceptCharset)` Indicates whether the `Accept-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 s, HttpOutputMessage outputMessage)` Abstract template method that writes the actual body.

Methods inherited from class org.springframework.http.converter.AbstractHttpMessageConverter
`canRead, canRead, canWrite, canWrite, getDefaultContentType, getSupportedMediaTypes, read, setSupportedMediaTypes, write`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

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 the `Accept-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 class `AbstractHttpMessageConverter<String>`
  Parameters:
    `clazz` - the class to test for support
  Returns:
    `true` if supported; `false` otherwise

### readInternal

    protected String readInternal(Class clazz,
                                  HttpInputMessage inputMessage)
                           throws IOException

  Description copied from class: `AbstractHttpMessageConverter`
  Abstract template method that reads the actualy object. Invoked from `AbstractHttpMessageConverter.read(java.lang.Class<? extends T>, org.springframework.http.HttpInputMessage)`.

  Specified by:
    `readInternal` in class `AbstractHttpMessageConverter<String>`
  Parameters:
    `clazz` - the type of object to return
    `inputMessage` - the HTTP input message to read from
  Returns:
    the converted object
  Throws:
    `IOException` - in case of I/O errors

### getContentLength

    protected Long getContentLength(String s,
                                    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 class `AbstractHttpMessageConverter<String>`
  Parameters:
    `s` - the type to return the content length for
  Returns:
    the content length, or `null` if not known

### writeInternal

    protected void writeInternal(String s,
                                 HttpOutputMessage outputMessage)
                          throws IOException

  Description copied from class: `AbstractHttpMessageConverter`
  Abstract template method that writes the actual body. Invoked from `AbstractHttpMessageConverter.write(T, org.springframework.http.MediaType, org.springframework.http.HttpOutputMessage)`.

  Specified by:
    `writeInternal` in class `AbstractHttpMessageConverter<String>`
  Parameters:
    `s` - the object to write to the output message
    `outputMessage` - the message to write to
  Throws:
    `IOException` - in case of I/O errors

### getAcceptedCharsets

    protected List<Charset> getAcceptedCharsets()

  Return the list of supported `Charset`.

  By default, returns `Charset.availableCharsets()`. Can be overridden in subclasses.

  Returns:
    the list of accepted charsets