クラス JsonToObjectTransformer
java.lang.ObjectSE
org.springframework.integration.context.IntegrationObjectSupport
org.springframework.integration.transformer.AbstractTransformer
org.springframework.integration.json.JsonToObjectTransformer
- 実装されたすべてのインターフェース:
Aware
、BeanClassLoaderAware
、BeanFactoryAware
、BeanNameAware
、InitializingBean
、ApplicationContextAware
、ExpressionCapable
、GenericTransformer<Message<?>,
、Message<?>> NamedComponent
、Transformer
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
- 関連事項:
フィールドサマリー
クラス org.springframework.integration.context.IntegrationObjectSupport から継承されたフィールド
EXPRESSION_PARSER, logger
コンストラクターのサマリー
コンストラクターコンストラクター説明JsonToObjectTransformer
(ClassSE<?> targetClass) JsonToObjectTransformer
(ClassSE<?> targetClass, JsonObjectMapper<?, ?> jsonObjectMapper) JsonToObjectTransformer
(ResolvableType targetType) 提供されたResolvableType
に基づいてインスタンスを構築します。JsonToObjectTransformer
(ResolvableType targetType, JsonObjectMapper<?, ?> jsonObjectMapper) 提供されたResolvableType
およびJsonObjectMapper
に基づいてインスタンスを構築します。JsonToObjectTransformer
(JsonObjectMapper<?, ?> jsonObjectMapper) メソッドのサマリー
修飾子と型メソッド説明protected ObjectSE
doTransform
(Message<?> message) サブクラスは、変換ロジックを提供するためにこのメソッドを実装する必要があります。サブクラスはこのメソッドを実装して、コンポーネント型情報を提供できます。protected void
onInit()
サブクラスは、初期化ロジック用にこれを実装できます。void
setBeanClassLoader
(ClassLoaderSE classLoader) void
setValueTypeExpression
(Expression valueTypeExpression) ResolvableType
を評価して受信 JSON からペイロードをインスタンス化するように SpELExpression
を構成します。void
setValueTypeExpressionString
(StringSE valueTypeExpressionString) ResolvableType
を評価して受信 JSON からペイロードをインスタンス化するように SpEL 式を構成します。クラス org.springframework.integration.transformer.AbstractTransformer から継承されたメソッド
transform
クラス org.springframework.integration.context.IntegrationObjectSupport から継承されたメソッド
afterPropertiesSet, extractTypeIfPossible, generateId, getApplicationContext, getApplicationContextId, getBeanDescription, getBeanFactory, getBeanName, getChannelResolver, getComponentName, getConversionService, getExpression, getIntegrationProperties, getMessageBuilderFactory, getTaskScheduler, isInitialized, setApplicationContext, setBeanFactory, setBeanName, setChannelResolver, setComponentName, setConversionService, setMessageBuilderFactory, setPrimaryExpression, setTaskScheduler, toString
コンストラクターの詳細
JsonToObjectTransformer
public JsonToObjectTransformer()JsonToObjectTransformer
JsonToObjectTransformer
提供されたResolvableType
に基づいてインスタンスを構築します。- パラメーター:
targetType
- 使用するResolvableType
。- 導入:
- 5.2
JsonToObjectTransformer
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
- 次で指定:
- インターフェース
BeanClassLoaderAware
のsetBeanClassLoader
setValueTypeExpressionString
ResolvableType
を評価して受信 JSON からペイロードをインスタンス化するように SpEL 式を構成します。デフォルトでは、このトランスフォーマーはリクエストメッセージでJsonHeaders
を参照します。この式がnull
を返すか、ResolvableType
ビルドがClassNotFoundException
SE をスローする場合、このトランスフォーマーは提供されたtargetType
にフォールバックします。JsonHeaders
には実際のクラス値がない可能性があるため、このロジックは式として存在しますが、外部レジストリに従ってターゲットクラスにマップする必要がある型 ID がいくつかあります。- パラメーター:
valueTypeExpressionString
- 使用する SpEL 式。- 導入:
- 5.2.6
setValueTypeExpression
ResolvableType
を評価して受信 JSON からペイロードをインスタンス化するように SpELExpression
を構成します。デフォルトでは、このトランスフォーマーはリクエストメッセージでJsonHeaders
を参照します。この式がnull
を返すか、ResolvableType
ビルドがClassNotFoundException
SE をスローする場合、このトランスフォーマーは提供されたtargetType
にフォールバックします。JsonHeaders
には実際のクラス値がない可能性があるため、このロジックは式として存在しますが、外部レジストリに従ってターゲットクラスにマップする必要がある型 ID がいくつかあります。- パラメーター:
valueTypeExpression
- 使用する SpELExpression
。- 導入:
- 5.2.6
getComponentType
クラスからコピーされた説明:IntegrationObjectSupport
サブクラスはこのメソッドを実装して、コンポーネント型情報を提供できます。- 次で指定:
- インターフェース
NamedComponent
のgetComponentType
- オーバーライド:
- クラス
IntegrationObjectSupport
のgetComponentType
onInit
protected void onInit()クラスからコピーされた説明:IntegrationObjectSupport
サブクラスは、初期化ロジック用にこれを実装できます。- オーバーライド:
- クラス
IntegrationObjectSupport
のonInit
doTransform
クラスからコピーされた説明:AbstractTransformer
サブクラスは、変換ロジックを提供するためにこのメソッドを実装する必要があります。戻り値自体がメッセージの場合、結果として使用されます。そうでない場合、null 以外の戻り値が結果メッセージのペイロードとして使用されます。- 次で指定:
- クラス
AbstractTransformer
のdoTransform
- パラメーター:
message
- メッセージ。- 戻り値:
- 変換の結果。