クラス 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、ComponentSourceAware、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 ObjectSEdoTransform(Message<?> message) サブクラスは、変換ロジックを提供するためにこのメソッドを実装する必要があります。サブクラスはこのメソッドを実装して、コンポーネント型情報を提供できます。protected voidonInit()サブクラスは、初期化ロジック用にこれを実装できます。voidsetBeanClassLoader(ClassLoaderSE classLoader) voidsetValueTypeExpression(Expression valueTypeExpression) ResolvableTypeを評価して受信 JSON からペイロードをインスタンス化するように SpELExpressionを構成します。voidsetValueTypeExpressionString(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, getComponentDescription, getComponentName, getComponentSource, getConversionService, getExpression, getIntegrationProperties, getMessageBuilderFactory, getTaskScheduler, isInitialized, setApplicationContext, setBeanFactory, setBeanName, setChannelResolver, setComponentDescription, setComponentName, setComponentSource, 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ビルドがClassNotFoundExceptionSE をスローする場合、このトランスフォーマーは提供されたtargetTypeにフォールバックします。JsonHeadersには実際のクラス値がない可能性があるため、このロジックは式として存在しますが、外部レジストリに従ってターゲットクラスにマップする必要がある型 ID がいくつかあります。- パラメーター:
valueTypeExpressionString- 使用する SpEL 式。- 導入:
- 5.2.6
setValueTypeExpression
ResolvableTypeを評価して受信 JSON からペイロードをインスタンス化するように SpELExpressionを構成します。デフォルトでは、このトランスフォーマーはリクエストメッセージでJsonHeadersを参照します。この式がnullを返すか、ResolvableTypeビルドがClassNotFoundExceptionSE をスローする場合、このトランスフォーマーは提供された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- メッセージ。- 戻り値:
- 変換の結果。