public class MappingJackson2MessageConverter extends AbstractMessageConverter
MessageConverter 実装。Jackson のデフォルトプロパティを次のようにカスタマイズします。
Spring 5.1 の時点で、Jackson 2.9 以降と互換性があります。
logger| コンストラクターと説明 |
|---|
MappingJackson2MessageConverter()UTF-8 文字セットで application/json MIME 型をサポートする MappingJackson2MessageConverter を構築します。 |
MappingJackson2MessageConverter(MimeType... supportedMimeTypes)1 つ以上のカスタム MIME 型をサポートする MappingJackson2MessageConverter を構築します。 |
| 修飾子と型 | メソッドと説明 |
|---|---|
protected boolean | canConvertFrom(Message<?> message, java.lang.Class<?> targetClass) |
protected boolean | canConvertTo(java.lang.Object payload, MessageHeaders headers) |
protected java.lang.Object | convertFromInternal(Message<?> message, java.lang.Class<?> targetClass, java.lang.Object conversionHint) メッセージペイロードを直列化された形式からオブジェクトに変換します。 |
protected java.lang.Object | convertToInternal(java.lang.Object payload, MessageHeaders headers, java.lang.Object conversionHint) ペイロードオブジェクトを直列化された形式に変換します。 |
protected JsonEncoding | getJsonEncoding(MimeType contentType) 指定されたコンテンツ型に使用する JSON エンコーディングを決定します。 |
ObjectMapper | getObjectMapper() このコンバーターの基になる ObjectMapper を返します。 |
protected java.lang.Class<?> | getSerializationView(java.lang.Object conversionHint) 指定された変換ヒントに基づいて、Jackson 直列化ビューを決定します。 |
protected void | logWarningIfNecessary(java.lang.reflect.Type type, java.lang.Throwable 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(java.lang.Class<?> clazz) 指定されたクラスがこのコンバーターでサポートされているかどうか。 |
fromMessage, fromMessage, getContentTypeResolver, getDefaultContentType, getMimeType, getSerializedPayloadClass, getSupportedMimeTypes, isStrictContentTypeMatch, setContentTypeResolver, setSerializedPayloadClass, setStrictContentTypeMatch, supportsMimeType, toMessage, toMessagepublic 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 java.lang.Class<?> targetClass)
AbstractMessageConverter の canConvertFrom protected boolean canConvertTo(java.lang.Object payload,
@Nullable
MessageHeaders headers)AbstractMessageConverter の canConvertTo protected void logWarningIfNecessary(java.lang.reflect.Type type,
@Nullable
java.lang.Throwable cause)ObjectMapper.canDeserialize(com.fasterxml.jackson.databind.JavaType)/ObjectMapper.canSerialize(java.lang.Class<?>) チェックからの特定の例外をログに記録するかどうかを決定します。type - Jackson が(非)直列化可能性についてテストしたクラス cause - 評価する Jackson 投げ例外 (通常、JsonMappingException )protected boolean supports(java.lang.Class<?> clazz)
AbstractMessageConverterAbstractMessageConverter の supports clazz - サポートをテストするクラス true。それ以外の場合は false @Nullable protected java.lang.Object convertFromInternal(Message<?> message, java.lang.Class<?> targetClass, @Nullable java.lang.Object conversionHint)
AbstractMessageConverterAbstractMessageConverter の convertFromInternal message - 入力メッセージ targetClass - 変換のターゲットクラス conversionHint - MessageConverter に渡される追加のオブジェクト。関連する MethodParameter (null の場合があります。}null @Nullable protected java.lang.Object convertToInternal(java.lang.Object payload, @Nullable MessageHeaders headers, @Nullable java.lang.Object conversionHint)
AbstractMessageConverterAbstractMessageConverter の convertToInternal payload - 変換するオブジェクト headers - メッセージのオプションのヘッダー (null の場合があります)conversionHint - MessageConverter に渡される追加のオブジェクト。関連する MethodParameter (null の場合があります。}null @Nullable protected java.lang.Class<?> getSerializationView(@Nullable java.lang.Object conversionHint)
conversionHint - 現在の変換の試行のためにコンバーターに渡される変換ヒントオブジェクト null protected JsonEncoding getJsonEncoding(@Nullable MimeType contentType)
contentType - MessageHeaders からの MIME 型(存在する場合)null ではない)