クラス 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(@Nullable ClassSE<?> targetClass) JsonToObjectTransformer(@Nullable ClassSE<?> targetClass, @Nullable JsonObjectMapper<?, ?> jsonObjectMapper) JsonToObjectTransformer(@Nullable JsonObjectMapper<?, ?> jsonObjectMapper) JsonToObjectTransformer(ResolvableType targetType) 提供されたResolvableTypeに基づいてインスタンスを構築します。JsonToObjectTransformer(ResolvableType targetType, @Nullable JsonObjectMapper<?, ?> jsonObjectMapper) 提供されたResolvableTypeおよび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
SpEL 式を設定して、ResolvableTypeを評価し、受信した JSON からペイロードをインスタンス化します。デフォルトでは、このトランスフォーマーはリクエストメッセージ内のJsonHeadersを参照します。この式がnullを返す場合、またはResolvableTypeがClassNotFoundExceptionSE をスローする場合、このトランスフォーマーは提供されたtargetTypeにフォールバックします。このロジックが式として存在するのは、JsonHeadersが実際のクラス値ではなく、外部レジストリに従ってターゲットクラスにマッピングする必要がある型 ID を持つ可能性があるためです。- パラメーター:
valueTypeExpressionString- 使用する SpEL 式。- 導入:
- 5.2.6
setValueTypeExpression
SpELExpressionを設定し、ResolvableTypeを評価して、受信した JSON からペイロードをインスタンス化します。デフォルトでは、このトランスフォーマーはリクエストメッセージ内のJsonHeadersを参照します。この式がnullを返す場合、またはResolvableTypeのビルドでClassNotFoundExceptionSE がスローされた場合、このトランスフォーマーは提供されたtargetTypeにフォールバックします。このロジックが式として存在するのは、JsonHeadersが実際のクラス値ではなく、外部レジストリに従ってターゲットクラスにマッピングする必要がある型 ID を持つ可能性があるためです。- パラメーター:
valueTypeExpression- 使用する SpELExpression。- 導入:
- 5.2.6
getComponentType
- 次で指定:
- インターフェース
NamedComponent内のgetComponentType
onInit
protected void onInit()クラスからコピーされた説明:IntegrationObjectSupportサブクラスは、初期化ロジック用にこれを実装できます。- オーバーライド:
- クラス
IntegrationObjectSupportのonInit
doTransform
クラスからコピーされた説明:AbstractTransformerサブクラスは、変換ロジックを提供するためにこのメソッドを実装する必要があります。戻り値自体がメッセージの場合、結果として使用されます。そうでない場合、null 以外の戻り値が結果メッセージのペイロードとして使用されます。- 次で指定:
- クラス
AbstractTransformerのdoTransform - パラメーター:
message- メッセージ。- 戻り値:
- 変換の結果。