クラス AbstractKotlinSerializationHttpMessageConverter<T extends kotlinx.serialization.SerialFormat>

型パラメーター:
T - SerialFormat の型
実装されているすべてのインターフェース:
HttpMessageConverter<ObjectSE>, SmartHttpMessageConverter<ObjectSE>
既知の直属サブクラス
KotlinSerializationBinaryHttpMessageConverter, KotlinSerializationStringHttpMessageConverter

public abstract class AbstractKotlinSerializationHttpMessageConverter<T extends kotlinx.serialization.SerialFormat> extends AbstractSmartHttpMessageConverter<ObjectSE>
Kotlin 直列化を使用する HttpMessageConverter 実装の抽象基本クラス。

Spring Framework 7.0 では、他の汎用コンバーターと競合なく併用できるため、デフォルトでは型レベルまたはジェネリクスレベルで @Serializable アノテーションが付与された型のみをエンコードします。Predicate<ResolvableType> パラメーターを持つ代替コンストラクターを使用することで、この動作をカスタマイズできます。

導入:
6.0
作成者:
Andreas Ahlenstorf, Sebastien Deleuze, Juergen Hoeller, Iain Henderson, Arjen Poutsma
  • コンストラクターの詳細

    • AbstractKotlinSerializationHttpMessageConverter

      protected AbstractKotlinSerializationHttpMessageConverter(T format, MediaType... supportedMediaTypes)
      指定された形式と、型またはジェネリクスレベルで @Serializable でアノテーションが付けられた型のみを変換するサポートされている MIME 型を持つ新しいインスタンスを作成します。
    • AbstractKotlinSerializationHttpMessageConverter

      protected AbstractKotlinSerializationHttpMessageConverter(T format, PredicateSE<ResolvableType> typePredicate, MediaType... supportedMediaTypes)
      指定された形式とサポートされている MIME 型を使用して新しいインスタンスを作成します。指定された述語が true を返す型のみを変換します。
      導入:
      7.0
  • メソッドの詳細

    • getSupportedMediaTypes

      public ListSE<MediaType> getSupportedMediaTypes(ClassSE<?> clazz)
      インターフェースからコピーされた説明: HttpMessageConverter
      指定されたクラスについて、このコンバーターでサポートされているメディア型のリストを返します。コンバーターが特定のクラスをサポートしていない場合、またはメディア型のサブセットに対してのみサポートしている場合、リストは HttpMessageConverter.getSupportedMediaTypes() とは異なる場合があります。
      パラメーター:
      clazz - チェックするクラスの型
      戻り値:
      特定のクラスでサポートされているメディア型のリスト
    • supports

      protected boolean supports(ClassSE<?> clazz)
      クラスからコピーされた説明: AbstractHttpMessageConverter
      指定されたクラスがこのコンバーターでサポートされているかどうかを示します。
      オーバーライド:
      クラス AbstractSmartHttpMessageConverter<ObjectSE>supports 
      パラメーター:
      clazz - サポートをテストするクラス
      戻り値:
      サポートされている場合は true。それ以外の場合は false 
    • canRead

      public boolean canRead(ResolvableType type, @Nullable MediaType mediaType)
      インターフェースからコピーされた説明: SmartHttpMessageConverter
      指定された型がこのコンバーターで読み取れるかどうかを示します。このメソッドは、ジェネリクス型に関連する追加のチェックを使用して HttpMessageConverter.canRead(Class, MediaType) と同じチェックを実行する必要があります。
      パラメーター:
      type - 読みやすさをテストする (潜在的にジェネリクスな) 型。型ソースは、関連する場合、追加情報 (たとえば、関連するメソッドシグネチャー) を取得するために使用されることがあります。
      mediaType - 読み取るメディア型。指定されていない場合は null にすることができます。通常、Content-Type ヘッダーの値。
      戻り値:
      読み取り可能な場合は true。それ以外の場合は false 
    • canWrite

      public boolean canWrite(ResolvableType type, ClassSE<?> valueClass, @Nullable MediaType mediaType)
      インターフェースからコピーされた説明: SmartHttpMessageConverter
      指定されたクラスをこのコンバーターで書き込めるかどうかを示します。

      このメソッドは、ジェネリクス型に関連する追加のチェックを使用して HttpMessageConverter.canWrite(Class, MediaType) と同じチェックを実行する必要があります。

      パラメーター:
      type - 書き込み可能性をテストする (潜在的にジェネリクスな) ターゲット型 (指定されていない場合は ResolvableType.NONE になります)。関連する場合、型 ソースは追加情報 (関連するメソッドシグネチャーなど) を取得するために使用されることがあります。
      valueClass - 書き込み可能性をテストするソースオブジェクトクラス
      mediaType - 書き込むメディア型(指定しない場合は null にすることができます); 通常、Accept ヘッダーの値。
      戻り値:
      書き込み可能な場合は true。それ以外の場合は false 
    • read

      インターフェースからコピーされた説明: SmartHttpMessageConverter
      指定された入力メッセージから指定された型のオブジェクトを読み取り、それを返します。
      パラメーター:
      type - 返されるオブジェクトの (潜在的にジェネリクスな) 型。この型は、このインターフェースの canRead メソッドに以前に渡され、true を返している必要があります。型ソースは、関連する場合、追加情報 (たとえば、関連するメソッドシグネチャー) を取得するために使用されることがあります。
      inputMessage - 読み込む HTTP 入力メッセージ
      hints - エンコード方法に関する追加情報
      戻り値:
      変換されたオブジェクト
      例外:
      IOExceptionSE - I/O エラーの場合
      HttpMessageNotReadableException - 変換エラーの場合
    • readInternal

      protected abstract ObjectSE readInternal(kotlinx.serialization.KSerializer<ObjectSE> serializer, T format, HttpInputMessage inputMessage) throws IOExceptionSE, HttpMessageNotReadableException
      指定されたシリアライザーとフォーマットで指定された入力メッセージを読み取ります。
      例外:
      IOExceptionSE
      HttpMessageNotReadableException
    • writeInternal

      protected final void writeInternal(ObjectSE object, ResolvableType type, HttpOutputMessage outputMessage, @Nullable MapSE<StringSE,ObjectSE> hints) throws IOExceptionSE, HttpMessageNotWritableException
      クラスからコピーされた説明: AbstractSmartHttpMessageConverter
      実際の本文を書き込む抽象テンプレートメソッド。AbstractSmartHttpMessageConverter.write(Object, ResolvableType, MediaType, HttpOutputMessage, Map) から呼び出されます。
      次で指定:
      クラス AbstractSmartHttpMessageConverter<ObjectSE>writeInternal 
      パラメーター:
      object - 出力メッセージに書き込むオブジェクト
      type - 書き込むオブジェクトの型
      outputMessage - 書き込む HTTP 出力メッセージ
      hints - エンコード方法に関する追加情報
      例外:
      IOExceptionSE - I/O エラーの場合
      HttpMessageNotWritableException - 変換エラーの場合
    • writeInternal

      protected abstract void writeInternal(ObjectSE object, kotlinx.serialization.KSerializer<ObjectSE> serializer, T format, HttpOutputMessage outputMessage) throws IOExceptionSE, HttpMessageNotWritableException
      指定されたオブジェクトを、指定されたシリアライザーとフォーマットで出力メッセージに書き込みます。
      例外:
      IOExceptionSE
      HttpMessageNotWritableException
    • supportsRepeatableWrites

      protected boolean supportsRepeatableWrites(ObjectSE object)
      クラスからコピーされた説明: AbstractHttpMessageConverter
      このメッセージコンバーターが指定されたオブジェクトを複数回書き込むことができるかどうかを示します。

      デフォルトの実装は false を返します。

      オーバーライド:
      クラス AbstractHttpMessageConverter<ObjectSE>supportsRepeatableWrites 
      パラメーター:
      object - オブジェクト t
      戻り値:
       t を繰り返し書き込める場合は true。それ以外の場合は false