public class GsonHttpMessageConverter extends AbstractHttpMessageConverter<java.lang.Object>
| Modifier and Type | Field and Description |
|---|---|
static java.nio.charset.Charset |
DEFAULT_CHARSET |
| Constructor and Description |
|---|
GsonHttpMessageConverter()
Construct a new
GsonHttpMessageConverter with a default Gson. |
GsonHttpMessageConverter(boolean serializeNulls)
Construct a new
GsonHttpMessageConverter. |
GsonHttpMessageConverter(com.google.gson.Gson gson)
Construct a new
GsonHttpMessageConverter. |
| Modifier and Type | Method and Description |
|---|---|
boolean |
canRead(java.lang.Class<?> clazz,
MediaType mediaType)
This implementation checks if the given class is supported,
and if the supported media types
include the given media type.
|
boolean |
canWrite(java.lang.Class<?> clazz,
MediaType mediaType)
This implementation checks if the given class is supported,
and if the supported media types
include the given media type.
|
java.lang.reflect.Type |
getType() |
protected java.lang.Object |
readInternal(java.lang.Class<?> clazz,
HttpInputMessage inputMessage)
Abstract template method that reads the actualy object.
|
void |
setGson(com.google.gson.Gson gson)
Sets the
Gson for this view. |
void |
setPrefixJson(boolean prefixJson)
Indicates whether the JSON output by this view should be prefixed with "{} &&".
|
void |
setType(java.lang.reflect.Type type) |
protected boolean |
supports(java.lang.Class<?> clazz)
Indicates whether the given class is supported by this converter.
|
protected void |
writeInternal(java.lang.Object o,
HttpOutputMessage outputMessage)
Abstract template method that writes the actual body.
|
canRead, canWrite, getContentLength, getDefaultContentType, getSupportedMediaTypes, read, setSupportedMediaTypes, writepublic GsonHttpMessageConverter()
GsonHttpMessageConverter with a default Gson.public GsonHttpMessageConverter(boolean serializeNulls)
GsonHttpMessageConverter.serializeNulls - true to generate json for null valuespublic GsonHttpMessageConverter(com.google.gson.Gson gson)
GsonHttpMessageConverter.gson - a customized Gsonpublic void setGson(com.google.gson.Gson gson)
Gson for this view. If not set, a default
Gson is used.
Setting a custom-configured Gson is one way to take further control of the JSON serialization
process.
java.lang.IllegalArgumentException - if gson is nullpublic void setType(java.lang.reflect.Type type)
public java.lang.reflect.Type getType()
public void setPrefixJson(boolean prefixJson)
Prefixing the JSON string in this manner is used to help prevent JSON Hijacking. The prefix renders the string syntactically invalid as a script so that it cannot be hijacked. This prefix does not affect the evaluation of JSON, but if JSON validation is performed on the string, the prefix would need to be ignored.
public boolean canRead(java.lang.Class<?> clazz,
MediaType mediaType)
AbstractHttpMessageConvertercanRead in interface HttpMessageConverter<java.lang.Object>canRead in class AbstractHttpMessageConverter<java.lang.Object>clazz - the class to test for readabilitymediaType - the media type to read, can be null if not specified.
Typically the value of a Content-Type header.true if readable; false otherwisepublic boolean canWrite(java.lang.Class<?> clazz,
MediaType mediaType)
AbstractHttpMessageConvertercanWrite in interface HttpMessageConverter<java.lang.Object>canWrite in class AbstractHttpMessageConverter<java.lang.Object>clazz - the class to test for writabilitymediaType - the media type to write, can be null if not specified.
Typically the value of an Accept header.true if writable; false otherwiseprotected boolean supports(java.lang.Class<?> clazz)
AbstractHttpMessageConvertersupports in class AbstractHttpMessageConverter<java.lang.Object>clazz - the class to test for supporttrue if supported; false otherwiseprotected java.lang.Object readInternal(java.lang.Class<?> clazz,
HttpInputMessage inputMessage)
throws java.io.IOException,
HttpMessageNotReadableException
AbstractHttpMessageConverterAbstractHttpMessageConverter.read(java.lang.Class<? extends T>, org.springframework.http.HttpInputMessage).readInternal in class AbstractHttpMessageConverter<java.lang.Object>clazz - the type of object to returninputMessage - the HTTP input message to read fromjava.io.IOException - in case of I/O errorsHttpMessageNotReadableException - in case of conversion errorsprotected void writeInternal(java.lang.Object o,
HttpOutputMessage outputMessage)
throws java.io.IOException,
HttpMessageNotWritableException
AbstractHttpMessageConverterAbstractHttpMessageConverter.write(T, org.springframework.http.MediaType, org.springframework.http.HttpOutputMessage).writeInternal in class AbstractHttpMessageConverter<java.lang.Object>o - the object to write to the output messageoutputMessage - the message to write tojava.io.IOException - in case of I/O errorsHttpMessageNotWritableException - in case of conversion errors