クラス JsonToObjectTransformer

実装済みのインターフェース一覧:
AwareBeanClassLoaderAwareBeanFactoryAwareBeanNameAwareInitializingBeanApplicationContextAwareComponentSourceAwareExpressionCapableGenericTransformer<Message<?>,Message<?>>NamedComponentTransformer

public class JsonToObjectTransformer extends AbstractTransformer implements BeanClassLoaderAware
JSON 文字列ペイロードを、指定されたターゲットクラスのインスタンスに変換する Transformer の実装。デフォルトでは、jackson-databind lib がクラスパス上に存在する場合、この Transformer は JsonObjectMapperProvider ファクトリを使用して Jackson JSON プロセッサーのインスタンスを取得します。他の JsonObjectMapper 実装も提供できます。

バージョン 3.0 以降、ターゲットクラスを省略することができ、ターゲット型は JsonHeaders 型エントリ(1 レベルのコンテナーまたはマップ型の内容を含む)によって決定できます。

型ヘッダーは、クラスまたは完全修飾クラス名です。

バージョン 5.2.6 以降、ターゲット ResolvableType を何らかの方法で外部で構築できるようにするための SpEL 式オプションが提供されています。

導入:
2.0
作成者:
Mark Fisher, Artem Bilan
関連事項:
  • コンストラクターの詳細

    • JsonToObjectTransformer

      public JsonToObjectTransformer()
    • JsonToObjectTransformer

      public JsonToObjectTransformer(@Nullable ClassSE<?> targetClass)
    • JsonToObjectTransformer

      public JsonToObjectTransformer(ResolvableType targetType)
      提供された ResolvableType に基づいてインスタンスを構築します。
      パラメーター:
      targetType - 使用する ResolvableType
      導入:
      5.2
    • JsonToObjectTransformer

      public JsonToObjectTransformer(@Nullable JsonObjectMapper<?,?> jsonObjectMapper)
    • JsonToObjectTransformer

      public JsonToObjectTransformer(@Nullable ClassSE<?> targetClass, @Nullable JsonObjectMapper<?,?> jsonObjectMapper)
    • JsonToObjectTransformer

      public JsonToObjectTransformer(ResolvableType targetType, @Nullable JsonObjectMapper<?,?> jsonObjectMapper)
      提供された ResolvableType および JsonObjectMapper に基づいてインスタンスを構築します。
      パラメーター:
      targetType - 使用する ResolvableType
      jsonObjectMapper - 使用する JsonObjectMapper
      導入:
      5.2
  • 方法の詳細

    • setBeanClassLoader

      public void setBeanClassLoader(ClassLoaderSE classLoader)
      次で指定:
      インターフェース BeanClassLoaderAware 内の setBeanClassLoader 
    • setValueTypeExpressionString

      public void setValueTypeExpressionString(StringSE valueTypeExpressionString)
      SpEL 式を設定して、ResolvableType を評価し、受信した JSON からペイロードをインスタンス化します。デフォルトでは、このトランスフォーマーはリクエストメッセージ内の JsonHeaders を参照します。この式が null を返す場合、または ResolvableTypeClassNotFoundExceptionSE をスローする場合、このトランスフォーマーは提供された targetType にフォールバックします。このロジックが式として存在するのは、JsonHeaders が実際のクラス値ではなく、外部レジストリに従ってターゲットクラスにマッピングする必要がある型 ID を持つ可能性があるためです。
      パラメーター:
      valueTypeExpressionString - 使用する SpEL 式。
      導入:
      5.2.6
    • setValueTypeExpression

      public void setValueTypeExpression(Expression valueTypeExpression)
      SpEL Expression を設定し、ResolvableType を評価して、受信した JSON からペイロードをインスタンス化します。デフォルトでは、このトランスフォーマーはリクエストメッセージ内の JsonHeaders を参照します。この式が null を返す場合、または ResolvableType のビルドで ClassNotFoundExceptionSE がスローされた場合、このトランスフォーマーは提供された targetType にフォールバックします。このロジックが式として存在するのは、JsonHeaders が実際のクラス値ではなく、外部レジストリに従ってターゲットクラスにマッピングする必要がある型 ID を持つ可能性があるためです。
      パラメーター:
      valueTypeExpression - 使用する SpEL Expression
      導入:
      5.2.6
    • getComponentType

      public StringSE getComponentType()
      次で指定:
      インターフェース NamedComponent 内の getComponentType 
    • onInit

      protected void onInit()
      クラスからコピーされた説明: IntegrationObjectSupport
      サブクラスは、初期化ロジック用にこれを実装できます。
      オーバーライド:
      クラス IntegrationObjectSupportonInit 
    • doTransform

      protected ObjectSE doTransform(Message<?> message)
      クラスからコピーされた説明: AbstractTransformer
      サブクラスは、変換ロジックを提供するためにこのメソッドを実装する必要があります。戻り値自体がメッセージの場合、結果として使用されます。そうでない場合、null 以外の戻り値が結果メッセージのペイロードとして使用されます。
      次で指定:
      クラス AbstractTransformerdoTransform 
      パラメーター:
      message - メッセージ。
      戻り値:
      変換の結果。