public abstract class AbstractJsonHttpMessageConverter extends AbstractGenericHttpMessageConverter<ObjectSE>
Jackson コンバーターは、マルチフォーマットをサポートしているため、専用のクラス階層を持っていることに注意してください。
GsonHttpMessageConverter
, JsonbHttpMessageConverter
, readInternal(Type, Reader)
, writeInternal(Object, Type, Writer)
修飾子と型 | フィールドと説明 |
---|---|
static CharsetSE | DEFAULT_CHARSET コンバーターが使用するデフォルトの文字セット。 |
logger
コンストラクターと説明 |
---|
AbstractJsonHttpMessageConverter() |
修飾子と型 | メソッドと説明 |
---|---|
ObjectSE | read(TypeSE type, ClassSE<?> contextClass, HttpInputMessage inputMessage) 指定された入力メッセージから指定された型のオブジェクトを読み取り、それを返します。 |
protected ObjectSE | readInternal(ClassSE<?> clazz, HttpInputMessage inputMessage) 実際のオブジェクトを読み取る抽象テンプレートメソッド。 |
protected abstract ObjectSE | readInternal(TypeSE resolvedType, ReaderSE reader) 指定された Reader SE から JSON バインドオブジェクトを読み取るテンプレートメソッド。 |
void | setJsonPrefix(StringSE jsonPrefix) JSON 出力に使用するカスタムプレフィックスを指定します。 |
void | setPrefixJson(boolean prefixJson) このビューによる JSON 出力に「)]} '、」をプレフィックスとして付けるかどうかを示します。 |
protected void | writeInternal(ObjectSE object, TypeSE type, HttpOutputMessage outputMessage) 実際の本文を書き込む抽象テンプレートメソッド。 |
protected abstract void | writeInternal(ObjectSE object, TypeSE type, WriterSE writer) JSON にバインドされたオブジェクトを指定された Writer SE に書き込むテンプレートメソッド。 |
canRead, canWrite, supports, write, writeInternal
addDefaultHeaders, canRead, canRead, canWrite, canWrite, getContentLength, getDefaultCharset, getDefaultContentType, getSupportedMediaTypes, read, setDefaultCharset, setSupportedMediaTypes, write
cloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, toStringSE, waitSE, waitSE, waitSE
canRead, canWrite, getSupportedMediaTypes, getSupportedMediaTypes, read, write
public static final CharsetSE DEFAULT_CHARSET
public void setJsonPrefix(StringSE jsonPrefix)
public void setPrefixJson(boolean prefixJson)
false
です。この方法で JSON 文字列のプレフィックスを使用すると、JSON ハイジャックを防ぐことができます。プレフィックスは、文字列をスクリプトとして構文的に無効にして、ハイジャックできないようにします。このプレフィックスは、文字列を JSON として解析する前に削除する必要があります。
public final ObjectSE read(TypeSE type, @Nullable ClassSE<?> contextClass, HttpInputMessage inputMessage) throws IOExceptionSE, HttpMessageNotReadableException
GenericHttpMessageConverter
type
- 返される(潜在的に汎用の)型のオブジェクト。この型は、このインターフェースの canRead
メソッドに事前に渡されている必要があります。このメソッドは true
を返している必要があります。contextClass
- ターゲット型のコンテキストクラス。たとえば、ターゲット型がメソッドシグネチャーに表示されるクラス (null
にすることができます)inputMessage
- 読み込む HTTP 入力メッセージ IOExceptionSE
- I/O エラーの場合 HttpMessageNotReadableException
- 変換エラーの場合 protected final ObjectSE readInternal(ClassSE<?> clazz, HttpInputMessage inputMessage) throws IOExceptionSE, HttpMessageNotReadableException
AbstractHttpMessageConverter
AbstractHttpMessageConverter.read(java.lang.Class<? extends T>, org.springframework.http.HttpInputMessage)
から呼び出されます。AbstractHttpMessageConverter<ObjectSE>
の readInternal
clazz
- 返すオブジェクトの型 inputMessage
- 読み込む HTTP 入力メッセージ IOExceptionSE
- I/O エラーの場合 HttpMessageNotReadableException
- 変換エラーの場合 protected final void writeInternal(ObjectSE object, @Nullable TypeSE type, HttpOutputMessage outputMessage) throws IOExceptionSE, HttpMessageNotWritableException
AbstractGenericHttpMessageConverter
AbstractGenericHttpMessageConverter.write(T, java.lang.reflect.Type, org.springframework.http.MediaType, org.springframework.http.HttpOutputMessage)
から呼び出されます。AbstractGenericHttpMessageConverter<ObjectSE>
の writeInternal
object
- 出力メッセージに書き込むオブジェクト type
- 書き込むオブジェクトの型 (null
の場合があります)outputMessage
- 書き込む HTTP 出力メッセージ IOExceptionSE
- I/O エラーの場合 HttpMessageNotWritableException
- 変換エラーの場合 protected abstract ObjectSE readInternal(TypeSE resolvedType, ReaderSE reader) throws ExceptionSE
Reader
SE から JSON バインドオブジェクトを読み取るテンプレートメソッド。resolvedType
- 解決されたジェネリクス型 reader
- 使用するリーダー ExceptionSE
- 読み取り / 解析の失敗の場合 protected abstract void writeInternal(ObjectSE object, @Nullable TypeSE type, WriterSE writer) throws ExceptionSE
Writer
SE に書き込むテンプレートメソッド。object
- 出力メッセージに書き込むオブジェクト type
- 書き込むオブジェクトの型 (null
の場合があります)writer
- 使用するライター ExceptionSE
- 書き込みエラーの場合