クラス AbstractJsonHttpMessageConverter

実装されているすべてのインターフェース:
GenericHttpMessageConverter<ObjectSE>, HttpMessageConverter<ObjectSE>
既知の直属サブクラス
GsonHttpMessageConverter, JsonbHttpMessageConverter

public abstract class AbstractJsonHttpMessageConverter extends AbstractGenericHttpMessageConverter<ObjectSE>
Gson や JSON-B などのプレーン JSON コンバーターの共通基本クラス。

Jackson コンバーターは、マルチフォーマットをサポートしているため、専用のクラス階層を持っていることに注意してください。

導入:
5.0
作成者:
Juergen Hoeller
関連事項:
  • フィールドの詳細

    • DEFAULT_CHARSET

      public static final CharsetSE DEFAULT_CHARSET
      コンバーターが使用するデフォルトの文字セット。
  • コンストラクターの詳細

    • AbstractJsonHttpMessageConverter

      public AbstractJsonHttpMessageConverter()
  • メソッドの詳細

    • setJsonPrefix

      public void setJsonPrefix(StringSE jsonPrefix)
      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(Class, 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, Type, MediaType, HttpOutputMessage) から呼び出されます。
      次で指定:
      クラス AbstractGenericHttpMessageConverter<ObjectSE>writeInternal 
      パラメーター:
      object - 出力メッセージに書き込むオブジェクト
      type - 書き込むオブジェクトの型 (null の場合があります)
      outputMessage - 書き込む HTTP 出力メッセージ
      例外:
      IOExceptionSE - I/O エラーの場合
      HttpMessageNotWritableException - 変換エラーの場合
    • readInternal

      protected abstract ObjectSE readInternal(TypeSE resolvedType, ReaderSE reader) throws ExceptionSE
      指定された ReaderSE から JSON バインドオブジェクトを読み取るテンプレートメソッド。
      パラメーター:
      resolvedType - 解決されたジェネリクス型
      reader - 使用する Reader 
      戻り値:
      JSON にバインドされたオブジェクト
      例外:
      ExceptionSE - 読み取り / 解析の失敗の場合
    • writeInternal

      protected abstract void writeInternal(ObjectSE object, @Nullable TypeSE type, WriterSE writer) throws ExceptionSE
      JSON にバインドされたオブジェクトを指定された WriterSE に書き込むテンプレートメソッド。
      パラメーター:
      object - 出力メッセージに書き込むオブジェクト
      type - 書き込むオブジェクトの型 (null の場合があります)
      writer - 使用する Writer 
      例外:
      ExceptionSE - 書き込みエラーの場合