Class GsonHttpMessageConverter
java.lang.Object
org.springframework.http.converter.AbstractHttpMessageConverter<T>
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 HashMap
s.
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:
-
Gson
GsonBuilder
setGson(com.google.gson.Gson)
-
Field Summary
Fields inherited from class org.springframework.http.converter.json.AbstractJsonHttpMessageConverter
DEFAULT_CHARSET
Fields inherited from class org.springframework.http.converter.AbstractHttpMessageConverter
logger
-
Constructor Summary
ConstructorDescriptionConstruct a newGsonHttpMessageConverter
with default configuration.GsonHttpMessageConverter
(com.google.gson.Gson gson) Construct a newGsonHttpMessageConverter
with the given delegate. -
Method Summary
Modifier and TypeMethodDescriptioncom.google.gson.Gson
getGson()
Return the configuredGson
instance for this converter.protected Object
readInternal
(Type resolvedType, Reader reader) Template method that reads the JSON-bound object from the givenReader
.void
setGson
(com.google.gson.Gson gson) Set theGson
instance to use.protected boolean
Indicates whether this message converter can write the given object multiple times.protected void
writeInternal
(Object object, Type type, Writer writer) Template method that writes the JSON-bound object to the givenWriter
.Methods inherited from class org.springframework.http.converter.json.AbstractJsonHttpMessageConverter
read, readInternal, setJsonPrefix, setPrefixJson, writeInternal
Methods inherited from class org.springframework.http.converter.AbstractGenericHttpMessageConverter
canRead, canWrite, supports, write, writeInternal
Methods inherited from class org.springframework.http.converter.AbstractHttpMessageConverter
addDefaultHeaders, canRead, canRead, canWrite, canWrite, getContentLength, 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
canRead, canWrite, getSupportedMediaTypes, getSupportedMediaTypes, read, write
-
Constructor Details
-
GsonHttpMessageConverter
public GsonHttpMessageConverter()Construct a newGsonHttpMessageConverter
with default configuration. -
GsonHttpMessageConverter
public GsonHttpMessageConverter(com.google.gson.Gson gson) Construct a newGsonHttpMessageConverter
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 theGson
instance to use. If not set, a defaultGson
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 configuredGson
instance for this converter. -
readInternal
Description copied from class:AbstractJsonHttpMessageConverter
Template method that reads the JSON-bound object from the givenReader
.- Specified by:
readInternal
in classAbstractJsonHttpMessageConverter
- Parameters:
resolvedType
- the resolved generic typereader
- the Reader to use- Returns:
- the JSON-bound object
- Throws:
Exception
- in case of read/parse failures
-
writeInternal
Description copied from class:AbstractJsonHttpMessageConverter
Template method that writes the JSON-bound object to the givenWriter
.- Specified by:
writeInternal
in classAbstractJsonHttpMessageConverter
- Parameters:
object
- the object to write to the output messagetype
- the type of object to write (may benull
)writer
- the Writer to use- Throws:
Exception
- in case of write failures
-
supportsRepeatableWrites
Description copied from class:AbstractHttpMessageConverter
Indicates whether this message converter can write the given object multiple times.The default implementation returns
false
.- Overrides:
supportsRepeatableWrites
in classAbstractHttpMessageConverter<Object>
- Parameters:
o
- the object t- Returns:
true
ift
can be written repeatedly;false
otherwise
-