クラス JsonToObjectTransformer

実装されたすべてのインターフェース:
AwareBeanClassLoaderAwareBeanFactoryAwareBeanNameAwareInitializingBeanApplicationContextAwareExpressionCapableGenericTransformer<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
関連事項:
  • コンストラクターの詳細

  • メソッドの詳細

    • setBeanClassLoader

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

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

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

      public StringSE getComponentType()
      クラスからコピーされた説明: IntegrationObjectSupport
      サブクラスはこのメソッドを実装して、コンポーネント型情報を提供できます。
      次で指定:
      インターフェース NamedComponentgetComponentType 
      オーバーライド:
      クラス IntegrationObjectSupportgetComponentType 
    • onInit

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

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