public class JsonToObjectTransformer extends AbstractTransformer implements BeanClassLoaderAware
バージョン 3.0 以降、ターゲットクラスを省略することができ、ターゲット型は JsonHeaders
型エントリ(1 レベルのコンテナーまたはマップ型の内容を含む)によって決定できます。
型ヘッダーは、クラスまたは完全修飾クラス名です。
バージョン 5.2.6 以降、ターゲット ResolvableType
を何らかの方法で外部で構築できるようにするための SpEL 式オプションが提供されています。
JsonObjectMapper
, JsonObjectMapperProvider
, ResolvableType
EXPRESSION_PARSER, logger
コンストラクターと説明 |
---|
JsonToObjectTransformer() |
JsonToObjectTransformer(ClassSE<?> targetClass) |
JsonToObjectTransformer(ClassSE<?> targetClass, JsonObjectMapper<?,?> jsonObjectMapper) |
JsonToObjectTransformer(JsonObjectMapper<?,?> jsonObjectMapper) |
JsonToObjectTransformer(ResolvableType targetType) 提供された ResolvableType に基づいてインスタンスを構築します。 |
JsonToObjectTransformer(ResolvableType targetType, JsonObjectMapper<?,?> jsonObjectMapper) 提供された ResolvableType および JsonObjectMapper に基づいてインスタンスを構築します。 |
修飾子と型 | メソッドと説明 |
---|---|
protected ObjectSE | doTransform(Message<?> message) サブクラスは、変換ロジックを提供するためにこのメソッドを実装する必要があります。 |
StringSE | getComponentType() サブクラスはこのメソッドを実装して、コンポーネント型情報を提供できます。 |
protected void | onInit() サブクラスは、初期化ロジック用にこれを実装できます。 |
void | setBeanClassLoader(ClassLoaderSE classLoader) |
void | setValueTypeExpression(Expression valueTypeExpression) ResolvableType を評価して受信 JSON からペイロードをインスタンス化するように SpEL Expression を構成します。 |
void | setValueTypeExpressionString(StringSE valueTypeExpressionString) ResolvableType を評価して受信 JSON からペイロードをインスタンス化するように SpEL 式を構成します。 |
transform
afterPropertiesSet, extractTypeIfPossible, generateId, getApplicationContext, getApplicationContextId, getBeanDescription, getBeanFactory, getBeanName, getChannelResolver, getComponentName, getConversionService, getExpression, getIntegrationProperties, getIntegrationProperty, getMessageBuilderFactory, getTaskScheduler, isInitialized, setApplicationContext, setBeanFactory, setBeanName, setChannelResolver, setComponentName, setConversionService, setMessageBuilderFactory, setPrimaryExpression, setTaskScheduler, toString
cloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, waitSE, waitSE, waitSE
public JsonToObjectTransformer()
public JsonToObjectTransformer(ResolvableType targetType)
ResolvableType
に基づいてインスタンスを構築します。targetType
- 使用する ResolvableType
。public JsonToObjectTransformer(@Nullable JsonObjectMapper<?,?> jsonObjectMapper)
public JsonToObjectTransformer(@Nullable ClassSE<?> targetClass, @Nullable JsonObjectMapper<?,?> jsonObjectMapper)
public JsonToObjectTransformer(ResolvableType targetType, @Nullable JsonObjectMapper<?,?> jsonObjectMapper)
ResolvableType
および JsonObjectMapper
に基づいてインスタンスを構築します。targetType
- 使用する ResolvableType
。jsonObjectMapper
- 使用する JsonObjectMapper
。public void setBeanClassLoader(ClassLoaderSE classLoader)
BeanClassLoaderAware
の setBeanClassLoader
public void setValueTypeExpressionString(StringSE valueTypeExpressionString)
ResolvableType
を評価して受信 JSON からペイロードをインスタンス化するように SpEL 式を構成します。デフォルトでは、このトランスフォーマーはリクエストメッセージで JsonHeaders
を参照します。この式が null
を返すか、ResolvableType
ビルドが ClassNotFoundException
SE をスローする場合、このトランスフォーマーは提供された targetType
にフォールバックします。JsonHeaders
には実際のクラス値がない可能性があるため、このロジックは式として存在しますが、外部レジストリに従ってターゲットクラスにマップする必要がある型 ID がいくつかあります。valueTypeExpressionString
- 使用する SpEL 式。public void setValueTypeExpression(Expression valueTypeExpression)
ResolvableType
を評価して受信 JSON からペイロードをインスタンス化するように SpEL Expression
を構成します。デフォルトでは、このトランスフォーマーはリクエストメッセージで JsonHeaders
を参照します。この式が null
を返すか、ResolvableType
ビルドが ClassNotFoundException
SE をスローする場合、このトランスフォーマーは提供された targetType
にフォールバックします。JsonHeaders
には実際のクラス値がない可能性があるため、このロジックは式として存在しますが、外部レジストリに従ってターゲットクラスにマップする必要がある型 ID がいくつかあります。valueTypeExpression
- 使用する SpEL Expression
。public StringSE getComponentType()
IntegrationObjectSupport
NamedComponent
の getComponentType
IntegrationObjectSupport
の getComponentType
protected void onInit()
IntegrationObjectSupport
IntegrationObjectSupport
の onInit
protected ObjectSE doTransform(Message<?> message)
AbstractTransformer
AbstractTransformer
の doTransform
message
- メッセージ。