Class GsonHttpMessageConverter
java.lang.Object
org.springframework.http.converter.AbstractHttpMessageConverter<Object>
org.springframework.http.converter.AbstractGenericHttpMessageConverter<Object>
org.springframework.http.converter.json.AbstractJsonHttpMessageConverter
org.springframework.http.converter.json.GsonHttpMessageConverter
- All Implemented Interfaces:
GenericHttpMessageConverter<Object>, HttpMessageConverter<Object>
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:
-
Field Summary
Fields inherited from class AbstractJsonHttpMessageConverter
DEFAULT_CHARSETFields inherited from class AbstractHttpMessageConverter
logger -
Constructor Summary
ConstructorsConstructorDescriptionConstruct a newGsonHttpMessageConverterwith default configuration.GsonHttpMessageConverter(com.google.gson.Gson gson) Construct a newGsonHttpMessageConverterwith the given delegate. -
Method Summary
Modifier and TypeMethodDescriptioncom.google.gson.GsongetGson()Return the configuredGsoninstance for this converter.protected ObjectreadInternal(Type resolvedType, Reader reader) Template method that reads the JSON-bound object from the givenReader.voidsetGson(com.google.gson.Gson gson) Set theGsoninstance to use.protected booleanIndicates whether this message converter can write the given object multiple times.protected voidwriteInternal(Object object, @Nullable Type type, Writer writer) Template method that writes the JSON-bound object to the givenWriter.Methods inherited from class AbstractJsonHttpMessageConverter
read, readInternal, setJsonPrefix, setPrefixJson, writeInternalMethods inherited from class AbstractGenericHttpMessageConverter
canRead, canWrite, supports, write, writeInternalMethods inherited from class AbstractHttpMessageConverter
addDefaultHeaders, canRead, canRead, canWrite, canWrite, getContentLength, getDefaultCharset, getDefaultContentType, getSupportedMediaTypes, read, setDefaultCharset, setSupportedMediaTypes, writeMethods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface HttpMessageConverter
canRead, canWrite, getSupportedMediaTypes, getSupportedMediaTypes, read, write
-
Constructor Details
-
GsonHttpMessageConverter
public GsonHttpMessageConverter()Construct a newGsonHttpMessageConverterwith default configuration. -
GsonHttpMessageConverter
public GsonHttpMessageConverter(com.google.gson.Gson gson) Construct a newGsonHttpMessageConverterwith 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 theGsoninstance to use. If not set, a defaultGsoninstance will be used.Setting a custom-configured
Gsonis one way to take further control of the JSON serialization process.- See Also:
-
getGson
public com.google.gson.Gson getGson()Return the configuredGsoninstance for this converter. -
readInternal
Description copied from class:AbstractJsonHttpMessageConverterTemplate method that reads the JSON-bound object from the givenReader.- Specified by:
readInternalin classAbstractJsonHttpMessageConverter- Parameters:
resolvedType- the resolved generic typereader- theReaderto use- Returns:
- the JSON-bound object
- Throws:
Exception- in case of read/parse failures
-
writeInternal
Description copied from class:AbstractJsonHttpMessageConverterTemplate method that writes the JSON-bound object to the givenWriter.- Specified by:
writeInternalin classAbstractJsonHttpMessageConverter- Parameters:
object- the object to write to the output messagetype- the type of object to write (may benull)writer- theWriterto use- Throws:
Exception- in case of write failures
-
supportsRepeatableWrites
Description copied from class:AbstractHttpMessageConverterIndicates whether this message converter can write the given object multiple times.The default implementation returns
false.- Overrides:
supportsRepeatableWritesin classAbstractHttpMessageConverter<Object>- Parameters:
o- the object t- Returns:
trueiftcan be written repeatedly;falseotherwise
-