public class JsonToObjectTransformer extends AbstractTransformer implements BeanClassLoaderAware
バージョン 3.0 以降、ターゲットクラスを省略することができ、ターゲット型は JsonHeaders 型エントリ(1 レベルのコンテナーまたはマップ型の内容を含む)によって決定できます。
型ヘッダーは、クラスまたは完全修飾クラス名です。
バージョン 5.2.6 以降、ターゲット ResolvableType を何らかの方法で外部で構築できるようにするための SpEL 式オプションが提供されています。
JsonObjectMapper, JsonObjectMapperProvider, ResolvableTypeEXPRESSION_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 式を構成します。 |
transformafterPropertiesSet, 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, toStringcloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, waitSE, waitSE, waitSEpublic 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 ビルドが ClassNotFoundExceptionSE をスローする場合、このトランスフォーマーは提供された targetType にフォールバックします。JsonHeaders には実際のクラス値がない可能性があるため、このロジックは式として存在しますが、外部レジストリに従ってターゲットクラスにマップする必要がある型 ID がいくつかあります。valueTypeExpressionString - 使用する SpEL 式。public void setValueTypeExpression(Expression valueTypeExpression)
ResolvableType を評価して受信 JSON からペイロードをインスタンス化するように SpEL Expression を構成します。デフォルトでは、このトランスフォーマーはリクエストメッセージで JsonHeaders を参照します。この式が null を返すか、ResolvableType ビルドが ClassNotFoundExceptionSE をスローする場合、このトランスフォーマーは提供された targetType にフォールバックします。JsonHeaders には実際のクラス値がない可能性があるため、このロジックは式として存在しますが、外部レジストリに従ってターゲットクラスにマップする必要がある型 ID がいくつかあります。valueTypeExpression - 使用する SpEL Expression。public StringSE getComponentType()
IntegrationObjectSupportNamedComponent 内の getComponentType IntegrationObjectSupport の getComponentType protected void onInit()
IntegrationObjectSupportIntegrationObjectSupport の onInit protected ObjectSE doTransform(Message<?> message)
AbstractTransformerAbstractTransformer の doTransform message - メッセージ。