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) 指定された ReaderSE から 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 にバインドされたオブジェクトを指定された WriterSE に書き込むテンプレートメソッド。 |
canRead, canWrite, supports, write, writeInternaladdDefaultHeaders, canRead, canRead, canWrite, canWrite, getContentLength, getDefaultCharset, getDefaultContentType, getSupportedMediaTypes, read, setDefaultCharset, setSupportedMediaTypes, writecloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, toStringSE, waitSE, waitSE, waitSEcanRead, canWrite, getSupportedMediaTypes, getSupportedMediaTypes, read, writepublic 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
GenericHttpMessageConvertertype - 返される(潜在的に汎用の)型のオブジェクト。この型は、このインターフェースの canRead メソッドに事前に渡されている必要があります。このメソッドは true を返している必要があります。contextClass - ターゲット型のコンテキストクラス。たとえば、ターゲット型がメソッドシグネチャーに表示されるクラス (null にすることができます)inputMessage - 読み込む HTTP 入力メッセージ IOExceptionSE - I/O エラーの場合 HttpMessageNotReadableException - 変換エラーの場合 protected final ObjectSE readInternal(ClassSE<?> clazz, HttpInputMessage inputMessage) throws IOExceptionSE, HttpMessageNotReadableException
AbstractHttpMessageConverterAbstractHttpMessageConverter.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
AbstractGenericHttpMessageConverterAbstractGenericHttpMessageConverter.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
ReaderSE から JSON バインドオブジェクトを読み取るテンプレートメソッド。resolvedType - 解決されたジェネリクス型 reader - 使用するリーダー ExceptionSE - 読み取り / 解析の失敗の場合 protected abstract void writeInternal(ObjectSE object, @Nullable TypeSE type, WriterSE writer) throws ExceptionSE
WriterSE に書き込むテンプレートメソッド。object - 出力メッセージに書き込むオブジェクト type - 書き込むオブジェクトの型 (null の場合があります)writer - 使用するライター ExceptionSE - 書き込みエラーの場合