public class MappingJackson2MessageConverter extends AbstractMessageConverter
MessageConverter
実装。Jackson のデフォルトプロパティを次のようにカスタマイズします。
Spring 4.3 の時点で、Jackson 2.6 以降と互換性があります。
logger
コンストラクターと説明 |
---|
MappingJackson2MessageConverter() UTF-8 文字セットで application/json MIME 型をサポートする MappingJackson2MessageConverter を構築します。 |
MappingJackson2MessageConverter(MimeType... supportedMimeTypes) 1 つ以上のカスタム MIME 型をサポートする MappingJackson2MessageConverter を構築します。 |
修飾子と型 | メソッドと説明 |
---|---|
protected boolean | canConvertFrom(Message<?> message, ClassSE<?> targetClass) |
protected boolean | canConvertTo(ObjectSE payload, MessageHeaders headers) |
protected ObjectSE | convertFromInternal(Message<?> message, ClassSE<?> targetClass, ObjectSE conversionHint) メッセージペイロードを直列化された形式からオブジェクトに変換します。 |
protected ObjectSE | convertToInternal(ObjectSE payload, MessageHeaders headers, ObjectSE conversionHint) ペイロードオブジェクトを直列化された形式に変換します。 |
protected JsonEncoding | getJsonEncoding(MimeType contentType) 指定されたコンテンツ型に使用する JSON エンコーディングを決定します。 |
ObjectMapper | getObjectMapper() このコンバーターの基になる ObjectMapper を返します。 |
protected ClassSE<?> | getSerializationView(ObjectSE conversionHint) 指定された変換ヒントに基づいて、Jackson 直列化ビューを決定します。 |
protected void | logWarningIfNecessary(TypeSE type, ThrowableSE cause) ObjectMapper.canDeserialize(com.fasterxml.jackson.databind.JavaType) /ObjectMapper.canSerialize(java.lang.Class<?>) チェックからの特定の例外をログに記録するかどうかを決定します。 |
void | setObjectMapper(ObjectMapper objectMapper) このコンバーターの ObjectMapper を設定します。 |
void | setPrettyPrint(boolean prettyPrint) JSON を記述するときに DefaultPrettyPrinter を使用するかどうか。 |
protected boolean | supports(ClassSE<?> clazz) 指定されたクラスがこのコンバーターでサポートされているかどうか。 |
fromMessage, fromMessage, getContentTypeResolver, getDefaultContentType, getMimeType, getSerializedPayloadClass, getSupportedMimeTypes, isStrictContentTypeMatch, setContentTypeResolver, setSerializedPayloadClass, setStrictContentTypeMatch, supportsMimeType, toMessage, toMessage
cloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, toStringSE, waitSE, waitSE, waitSE
public MappingJackson2MessageConverter()
UTF-8
文字セットで application/json
MIME 型をサポートする MappingJackson2MessageConverter
を構築します。public MappingJackson2MessageConverter(MimeType... supportedMimeTypes)
MappingJackson2MessageConverter
を構築します。supportedMimeTypes
- サポートされている MIME 型 public void setObjectMapper(ObjectMapper objectMapper)
ObjectMapper
を設定します。設定しない場合、デフォルトの ObjectMapper
が使用されます。 カスタム構成の ObjectMapper
を設定することは、JSON 直列化プロセスをさらに制御する 1 つの方法です。例: 特定の型のカスタムシリアライザーを提供する拡張 SerializerFactory
を構成できます。直列化プロセスを改善するためのもう 1 つのオプションは、Jackson が提供するアノテーションを直列化する型に使用することです。この場合、カスタム構成の ObjectMapper は不要です。
public ObjectMapper getObjectMapper()
ObjectMapper
を返します。public void setPrettyPrint(boolean prettyPrint)
DefaultPrettyPrinter
を使用するかどうか。これは、次のように ObjectMapper
をセットアップするためのショートカットです。ObjectMapper mapper = new ObjectMapper(); mapper.configure(SerializationFeature.INDENT_OUTPUT, true); converter.setObjectMapper(mapper);
protected boolean canConvertFrom(Message<?> message, @Nullable ClassSE<?> targetClass)
AbstractMessageConverter
の canConvertFrom
protected boolean canConvertTo(ObjectSE payload, @Nullable MessageHeaders headers)
AbstractMessageConverter
の canConvertTo
protected void logWarningIfNecessary(TypeSE type, @Nullable ThrowableSE cause)
ObjectMapper.canDeserialize(com.fasterxml.jackson.databind.JavaType)
/ObjectMapper.canSerialize(java.lang.Class<?>)
チェックからの特定の例外をログに記録するかどうかを決定します。type
- Jackson が(非)直列化可能性についてテストしたクラス cause
- 評価する Jackson 投げ例外 (通常、JsonMappingException
)protected boolean supports(ClassSE<?> clazz)
AbstractMessageConverter
AbstractMessageConverter
の supports
clazz
- サポートをテストするクラス true
。それ以外の場合は false
@Nullable protected ObjectSE convertFromInternal(Message<?> message, ClassSE<?> targetClass, @Nullable ObjectSE conversionHint)
AbstractMessageConverter
AbstractMessageConverter
の convertFromInternal
message
- 入力メッセージ targetClass
- 変換のターゲットクラス conversionHint
- MessageConverter
に渡される追加のオブジェクト。関連する MethodParameter
(null
の場合があります。}null
@Nullable protected ObjectSE convertToInternal(ObjectSE payload, @Nullable MessageHeaders headers, @Nullable ObjectSE conversionHint)
AbstractMessageConverter
AbstractMessageConverter
の convertToInternal
payload
- 変換するオブジェクト headers
- メッセージのオプションのヘッダー (null
の場合があります)conversionHint
- MessageConverter
に渡される追加のオブジェクト。関連する MethodParameter
(null
の場合があります。}null
@Nullable protected ClassSE<?> getSerializationView(@Nullable ObjectSE conversionHint)
conversionHint
- 現在の変換の試行のためにコンバーターに渡される変換ヒントオブジェクト null
protected JsonEncoding getJsonEncoding(@Nullable MimeType contentType)
contentType
- MessageHeaders からの MIME 型(存在する場合)null
)