クラス AbstractJsonHttpMessageConverter
java.lang.ObjectSE
org.springframework.http.converter.AbstractHttpMessageConverter<T>
org.springframework.http.converter.AbstractGenericHttpMessageConverter<ObjectSE>
org.springframework.http.converter.json.AbstractJsonHttpMessageConverter
- 実装されたすべてのインターフェース:
GenericHttpMessageConverter<ObjectSE>
,HttpMessageConverter<ObjectSE>
- 既知の直属サブクラス
GsonHttpMessageConverter
,JsonbHttpMessageConverter
public abstract class AbstractJsonHttpMessageConverter
extends AbstractGenericHttpMessageConverter<ObjectSE>
Gson や JSON-B などのプレーン JSON コンバーターの共通基本クラス。
Jackson コンバーターは、マルチフォーマットをサポートしているため、専用のクラス階層を持っていることに注意してください。
- 導入:
- 5.0
- 作成者:
- Juergen Hoeller
- 関連事項:
フィールドサマリー
フィールドクラス org.springframework.http.converter.AbstractHttpMessageConverter から継承されたフィールド
logger
コンストラクターのサマリー
コンストラクター方法の概要
修飾子と型メソッド説明final ObjectSE
read
(TypeSE type, ClassSE<?> contextClass, HttpInputMessage inputMessage) 指定された入力メッセージから指定された型のオブジェクトを読み取り、それを返します。protected final 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 abstract void
writeInternal
(ObjectSE object, TypeSE type, WriterSE writer) JSON にバインドされたオブジェクトを指定されたWriter
SE に書き込むテンプレートメソッド。protected final void
writeInternal
(ObjectSE object, TypeSE type, HttpOutputMessage outputMessage) 実際の本文を書き込む抽象テンプレートメソッド。クラス org.springframework.http.converter.AbstractGenericHttpMessageConverter から継承されたメソッド
canRead, canWrite, supports, write, writeInternal
クラス org.springframework.http.converter.AbstractHttpMessageConverter から継承されたメソッド
addDefaultHeaders, canRead, canRead, canWrite, canWrite, getContentLength, getDefaultCharset, getDefaultContentType, getSupportedMediaTypes, read, setDefaultCharset, setSupportedMediaTypes, supportsRepeatableWrites, write
クラス java.lang.ObjectSE から継承されたメソッド
clone, equalsSE, finalize, getClass, hashCode, notify, notifyAll, toString, wait, waitSE, waitSE
インターフェース org.springframework.http.converter.HttpMessageConverter から継承されたメソッド
canRead, canWrite, getSupportedMediaTypes, getSupportedMediaTypes, read, write
フィールドの詳細
DEFAULT_CHARSET
コンバーターが使用するデフォルトの文字セット。
コンストラクターの詳細
AbstractJsonHttpMessageConverter
public AbstractJsonHttpMessageConverter()
メソッドの詳細
setJsonPrefix
JSON 出力に使用するカスタムプレフィックスを指定します。デフォルトはなしです。setPrefixJson
public void setPrefixJson(boolean prefixJson) このビューによる JSON 出力に「)]} '、」をプレフィックスとして付けるかどうかを示します。デフォルトはfalse
です。この方法で JSON 文字列のプレフィックスを使用すると、JSON ハイジャックを防ぐことができます。プレフィックスは、文字列をスクリプトとして構文的に無効にして、ハイジャックできないようにします。このプレフィックスは、文字列を JSON として解析する前に削除する必要があります。
read
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
- 変換エラーの場合
readInternal
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
- 変換エラーの場合
writeInternal
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
- 変換エラーの場合
readInternal
指定されたReader
SE から JSON バインドオブジェクトを読み取るテンプレートメソッド。- パラメーター:
resolvedType
- 解決されたジェネリクス型reader
- 使用するリーダー- 戻り値:
- JSON にバインドされたオブジェクト
- 例外:
ExceptionSE
- 読み取り / 解析の失敗の場合
writeInternal
protected abstract void writeInternal(ObjectSE object, @Nullable TypeSE type, WriterSE writer) throws ExceptionSE JSON にバインドされたオブジェクトを指定されたWriter
SE に書き込むテンプレートメソッド。- パラメーター:
object
- 出力メッセージに書き込むオブジェクトtype
- 書き込むオブジェクトの型 (null
の場合があります)writer
- 使用するライター- 例外:
ExceptionSE
- 書き込みエラーの場合