クラス MappingJackson2MessageConverter
java.lang.ObjectSE
org.springframework.messaging.converter.AbstractMessageConverter
org.springframework.messaging.converter.MappingJackson2MessageConverter
- 実装されているすべてのインターフェース:
MessageConverter,SmartMessageConverter
Jackson 2 ベースの
MessageConverter 実装。Jackson のデフォルトプロパティを次のようにカスタマイズします。
- 導入:
- 4.0
- 作成者:
- Rossen Stoyanchev, Juergen Hoeller, Sebastien Deleuze
フィールドのサマリー
クラス org.springframework.messaging.converter.AbstractMessageConverter から継承されたフィールド
loggerコンストラクターの概要
コンストラクターコンストラクター説明UTF-8文字セットを持つapplication/jsonMIME 型をサポートする、デフォルトのObjectMapperを使用してMappingJackson2MessageConverterを構築します。MappingJackson2MessageConverter(ObjectMapper objectMapper) UTF-8文字セットを使用したapplication/jsonMIME 型をサポートする、カスタムObjectMapperを使用してMappingJackson2MessageConverterを構築します。MappingJackson2MessageConverter(ObjectMapper objectMapper, MimeType... supportedMimeTypes) 1 つ以上のカスタム MIME 型をサポートするカスタムObjectMapperを使用してMappingJackson2MessageConverterを構築します。MappingJackson2MessageConverter(MimeType... supportedMimeTypes) デフォルトのObjectMapperを使用してMappingJackson2MessageConverterを構築し、1 つ以上のカスタム MIME 型をサポートします。メソッドのサマリー
修飾子と型メソッド説明protected booleancanConvertFrom(Message<?> message, ClassSE<?> targetClass) protected booleancanConvertTo(ObjectSE payload, MessageHeaders headers) protected ObjectSEconvertFromInternal(Message<?> message, ClassSE<?> targetClass, ObjectSE conversionHint) メッセージペイロードを直列化された形式からオブジェクトに変換します。protected ObjectSEconvertToInternal(ObjectSE payload, MessageHeaders headers, ObjectSE conversionHint) ペイロードオブジェクトを直列化された形式に変換します。protected JsonEncodinggetJsonEncoding(MimeType contentType) 指定されたコンテンツ型に使用する JSON エンコーディングを決定します。このコンバーターの基になるObjectMapperを返します。protected ClassSE<?>getSerializationView(ObjectSE conversionHint) 指定された変換ヒントに基づいて、Jackson 直列化ビューを決定します。protected voidlogWarningIfNecessary(TypeSE type, ThrowableSE cause) ObjectMapper.canDeserialize(com.fasterxml.jackson.databind.JavaType)/ObjectMapper.canSerialize(java.lang.Class<?>)チェックからの特定の例外をログに記録するかどうかを決定します。voidsetObjectMapper(ObjectMapper objectMapper) このコンバーターのObjectMapperを設定します。voidsetPrettyPrint(boolean prettyPrint) JSON を記述するときにDefaultPrettyPrinterを使用するかどうか。protected boolean指定されたクラスがこのコンバーターでサポートされているかどうか。クラス org.springframework.messaging.converter.AbstractMessageConverter から継承されたメソッド
addSupportedMimeTypes, fromMessage, fromMessage, getContentTypeResolver, getDefaultContentType, getMimeType, getSerializedPayloadClass, getSupportedMimeTypes, isStrictContentTypeMatch, setContentTypeResolver, setSerializedPayloadClass, setStrictContentTypeMatch, supportsMimeType, toMessage, toMessage
コンストラクターの詳細
MappingJackson2MessageConverter
public MappingJackson2MessageConverter()UTF-8文字セットを持つapplication/jsonMIME 型をサポートする、デフォルトのObjectMapperを使用してMappingJackson2MessageConverterを構築します。MappingJackson2MessageConverter
デフォルトのObjectMapperを使用してMappingJackson2MessageConverterを構築し、1 つ以上のカスタム MIME 型をサポートします。- パラメーター:
supportedMimeTypes- サポートされている MIME 型- 導入:
- 4.1.5
MappingJackson2MessageConverter
UTF-8文字セットを使用したapplication/jsonMIME 型をサポートする、カスタムObjectMapperを使用してMappingJackson2MessageConverterを構築します。- パラメーター:
objectMapper- 使用するObjectMapper- 導入:
- 6.1
MappingJackson2MessageConverter
1 つ以上のカスタム MIME 型をサポートするカスタムObjectMapperを使用してMappingJackson2MessageConverterを構築します。- パラメーター:
objectMapper- 使用するObjectMappersupportedMimeTypes- サポートされている MIME 型- 導入:
- 6.1
メソッドの詳細
setObjectMapper
このコンバーターのObjectMapperを設定します。設定されていない場合は、デフォルトの
ObjectMapperが使用されます。カスタム構成の
ObjectMapperを設定することは、JSON 直列化プロセスをさらに制御する 1 つの方法です。例: 特定の型にカスタムシリアライザーを提供する拡張SerializerFactoryを構成できます。直列化プロセスを改善するためのもう 1 つのオプションは、直列化する型に対して Jackson が提供するアノテーションを使用することです。この場合、カスタム構成のObjectMapperは必要ありません。getObjectMapper
このコンバーターの基になるObjectMapperを返します。setPrettyPrint
public void setPrettyPrint(boolean prettyPrint) JSON を記述するときにDefaultPrettyPrinterを使用するかどうか。これは、次のように
ObjectMapperをセットアップするためのショートカットです。ObjectMapper mapper = new ObjectMapper(); mapper.configure(SerializationFeature.INDENT_OUTPUT, true); converter.setObjectMapper(mapper);
canConvertFrom
- オーバーライド:
- クラス
AbstractMessageConverterのcanConvertFrom
canConvertTo
- オーバーライド:
- クラス
AbstractMessageConverterのcanConvertTo
logWarningIfNecessary
ObjectMapper.canDeserialize(com.fasterxml.jackson.databind.JavaType)/ObjectMapper.canSerialize(java.lang.Class<?>)チェックからの特定の例外をログに記録するかどうかを決定します。- パラメーター:
type- Jackson が(非)直列化可能性についてテストしたクラスcause- 評価する Jackson 投げ例外 (通常、JsonMappingException)- 導入:
- 4.3
supports
クラスからコピーされた説明:AbstractMessageConverter指定されたクラスがこのコンバーターでサポートされているかどうか。- 次で指定:
- クラス
AbstractMessageConverterのsupports - パラメーター:
clazz- サポートをテストするクラス- 戻り値:
- サポートされている場合は
true。それ以外の場合はfalse
convertFromInternal
@Nullable protected ObjectSE convertFromInternal(Message<?> message, ClassSE<?> targetClass, @Nullable ObjectSE conversionHint) クラスからコピーされた説明:AbstractMessageConverterメッセージペイロードを直列化された形式からオブジェクトに変換します。- オーバーライド:
- クラス
AbstractMessageConverterのconvertFromInternal - パラメーター:
message- 入力メッセージtargetClass- 変換のターゲットクラスconversionHint-MessageConverterに渡される追加オブジェクト(たとえば、関連するMethodParameter) (nullかもしれない)- 戻り値:
- 変換の結果、またはコンバーターが変換を実行できない場合は
null
convertToInternal
@Nullable protected ObjectSE convertToInternal(ObjectSE payload, @Nullable MessageHeaders headers, @Nullable ObjectSE conversionHint) クラスからコピーされた説明:AbstractMessageConverterペイロードオブジェクトを直列化された形式に変換します。- オーバーライド:
- クラス
AbstractMessageConverterのconvertToInternal - パラメーター:
payload- 変換するオブジェクトheaders- メッセージのオプションのヘッダー (nullの場合があります)conversionHint-MessageConverterに渡される追加オブジェクト(たとえば、関連するMethodParameter) (nullかもしれない)- 戻り値:
- メッセージの結果のペイロード、またはコンバーターが変換を実行できない場合は
null
getSerializationView
指定された変換ヒントに基づいて、Jackson 直列化ビューを決定します。- パラメーター:
conversionHint- 現在の変換の試行のためにコンバーターに渡される変換ヒントオブジェクト- 戻り値:
- 直列化ビュークラス、または存在しない場合は
null - 導入:
- 4.2
getJsonEncoding
指定されたコンテンツ型に使用する JSON エンコーディングを決定します。- パラメーター:
contentType- MessageHeaders からの MIME 型(存在する場合)- 戻り値:
- 使用する JSON エンコード (非
null)