Class GsonHttpMessageConverter

All Implemented Interfaces:
GenericHttpMessageConverter<Object>, HttpMessageConverter<Object>

public class GsonHttpMessageConverter extends AbstractJsonHttpMessageConverter
Implementation of HttpMessageConverter that can read and write JSON using the Google Gson library.

This converter can be used to bind to typed beans or untyped HashMaps. By default, it supports application/json and application/*+json with UTF-8 character set.

Tested against Gson 2.8; compatible with Gson 2.0 and higher.

Since:
4.1
Author:
Roy Clarkson, Juergen Hoeller
See Also:
  • Constructor Details

    • GsonHttpMessageConverter

      public GsonHttpMessageConverter()
      Construct a new GsonHttpMessageConverter with default configuration.
    • GsonHttpMessageConverter

      public GsonHttpMessageConverter(com.google.gson.Gson gson)
      Construct a new GsonHttpMessageConverter with the given delegate.
      Parameters:
      gson - the Gson instance to use
      Since:
      5.0
  • Method Details

    • setGson

      public void setGson(com.google.gson.Gson gson)
      Set the Gson instance to use. If not set, a default Gson instance will be used.

      Setting a custom-configured Gson is one way to take further control of the JSON serialization process.

      See Also:
    • getGson

      public com.google.gson.Gson getGson()
      Return the configured Gson instance for this converter.
    • readInternal

      protected Object readInternal(Type resolvedType, Reader reader) throws Exception
      Description copied from class: AbstractJsonHttpMessageConverter
      Template method that reads the JSON-bound object from the given Reader.
      Specified by:
      readInternal in class AbstractJsonHttpMessageConverter
      Parameters:
      resolvedType - the resolved generic type
      reader - the Reader to use
      Returns:
      the JSON-bound object
      Throws:
      Exception - in case of read/parse failures
    • writeInternal

      protected void writeInternal(Object object, @Nullable Type type, Writer writer) throws Exception
      Description copied from class: AbstractJsonHttpMessageConverter
      Template method that writes the JSON-bound object to the given Writer.
      Specified by:
      writeInternal in class AbstractJsonHttpMessageConverter
      Parameters:
      object - the object to write to the output message
      type - the type of object to write (may be null)
      writer - the Writer to use
      Throws:
      Exception - in case of write failures