クラス MappingJackson2MessageConverter

java.lang.ObjectSE
org.springframework.messaging.converter.AbstractMessageConverter
org.springframework.messaging.converter.MappingJackson2MessageConverter
実装されたすべてのインターフェース:
MessageConverterSmartMessageConverter

public class MappingJackson2MessageConverter extends AbstractMessageConverter
Jackson 2 ベースの MessageConverter 実装。

Jackson のデフォルトプロパティを次のようにカスタマイズします。

導入:
4.0
作成者:
Rossen Stoyanchev, Juergen Hoeller, Sebastien Deleuze
  • コンストラクターの詳細

    • MappingJackson2MessageConverter

      public MappingJackson2MessageConverter()
      UTF-8 文字セットを持つ application/json MIME 型をサポートする、デフォルトの ObjectMapper を使用して MappingJackson2MessageConverter を構築します。
    • MappingJackson2MessageConverter

      public MappingJackson2MessageConverter(MimeType... supportedMimeTypes)
      デフォルトの ObjectMapper を使用して MappingJackson2MessageConverter を構築し、1 つ以上のカスタム MIME 型をサポートします。
      パラメーター:
      supportedMimeTypes - サポートされている MIME 型
      導入:
      4.1.5
    • MappingJackson2MessageConverter

      public MappingJackson2MessageConverter(ObjectMapper objectMapper)
      UTF-8 文字セットを使用した application/json MIME 型をサポートする、カスタム ObjectMapper を使用して MappingJackson2MessageConverter を構築します。
      パラメーター:
      objectMapper - 使用する ObjectMapper 
      導入:
      6.1
    • MappingJackson2MessageConverter

      public MappingJackson2MessageConverter(ObjectMapper objectMapper, MimeType... supportedMimeTypes)
      1 つ以上のカスタム MIME 型をサポートするカスタム ObjectMapper を使用して MappingJackson2MessageConverter を構築します。
      パラメーター:
      objectMapper - 使用する ObjectMapper 
      supportedMimeTypes - サポートされている MIME 型
      導入:
      6.1
  • メソッドの詳細

    • setObjectMapper

      public void setObjectMapper(ObjectMapper objectMapper)
      このコンバーターの ObjectMapper を設定します。

      設定されていない場合は、デフォルトの ObjectMapper が使用されます。

      カスタム構成の ObjectMapper を設定することは、JSON 直列化プロセスをさらに制御する 1 つの方法です。例: 特定の型にカスタムシリアライザーを提供する拡張 SerializerFactory を構成できます。直列化プロセスを改善するためのもう 1 つのオプションは、直列化する型に対して Jackson が提供するアノテーションを使用することです。この場合、カスタム構成の ObjectMapper は必要ありません。

    • getObjectMapper

      public 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

      protected boolean canConvertFrom(Message<?> message, @Nullable ClassSE<?> targetClass)
      オーバーライド:
      クラス AbstractMessageConvertercanConvertFrom 
    • canConvertTo

      protected boolean canConvertTo(ObjectSE payload, @Nullable MessageHeaders headers)
      オーバーライド:
      クラス AbstractMessageConvertercanConvertTo 
    • logWarningIfNecessary

      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 )
      導入:
      4.3
    • supports

      protected boolean supports(ClassSE<?> clazz)
      クラスからコピーされた説明: AbstractMessageConverter
      指定されたクラスがこのコンバーターでサポートされているかどうか。
      次で指定:
      クラス AbstractMessageConvertersupports 
      パラメーター:
      clazz - サポートをテストするクラス
      戻り値:
      サポートされている場合は true。それ以外の場合は false 
    • convertFromInternal

      @Nullable protected ObjectSE convertFromInternal(Message<?> message, ClassSE<?> targetClass, @Nullable ObjectSE conversionHint)
      クラスからコピーされた説明: AbstractMessageConverter
      メッセージペイロードを直列化された形式からオブジェクトに変換します。
      オーバーライド:
      クラス AbstractMessageConverterconvertFromInternal 
      パラメーター:
      message - 入力メッセージ
      targetClass - 変換のターゲットクラス
      conversionHint - MessageConverter に渡される追加のオブジェクト。関連する MethodParameter (null の場合があります。}
      戻り値:
      変換の結果、またはコンバーターが変換を実行できない場合は null 
    • convertToInternal

      @Nullable protected ObjectSE convertToInternal(ObjectSE payload, @Nullable MessageHeaders headers, @Nullable ObjectSE conversionHint)
      クラスからコピーされた説明: AbstractMessageConverter
      ペイロードオブジェクトを直列化された形式に変換します。
      オーバーライド:
      クラス AbstractMessageConverterconvertToInternal 
      パラメーター:
      payload - 変換するオブジェクト
      headers - メッセージのオプションのヘッダー (null の場合があります)
      conversionHint - MessageConverter に渡される追加のオブジェクト。関連する MethodParameter (null の場合があります。}
      戻り値:
      メッセージの結果のペイロード、またはコンバーターが変換を実行できない場合は null 
    • getSerializationView

      @Nullable protected ClassSE<?> getSerializationView(@Nullable ObjectSE conversionHint)
      指定された変換ヒントに基づいて、Jackson 直列化ビューを決定します。
      パラメーター:
      conversionHint - 現在の変換の試行のためにコンバーターに渡される変換ヒントオブジェクト
      戻り値:
      直列化ビュークラス、または存在しない場合は null 
      導入:
      4.2
    • getJsonEncoding

      protected JsonEncoding getJsonEncoding(@Nullable MimeType contentType)
      指定されたコンテンツ型に使用する JSON エンコーディングを決定します。
      パラメーター:
      contentType - MessageHeaders からの MIME 型(存在する場合)
      戻り値:
      使用する JSON エンコード (非 null)