クラス GsonEncoder

java.lang.ObjectSE
org.springframework.core.codec.AbstractEncoder<ObjectSE>
org.springframework.http.codec.json.GsonEncoder
実装されているすべてのインターフェース:
Encoder<ObjectSE>, HttpMessageEncoder<ObjectSE>

public class GsonEncoder extends AbstractEncoder<ObjectSE> implements HttpMessageEncoder<ObjectSE>
Google グソンを使用して、Object ストリームから JSON オブジェクトのバイトストリームにエンコードします。
導入:
7.0
作成者:
Brian Clozel
  • コンストラクターの詳細

    • GsonEncoder

      public GsonEncoder()
      デフォルトの Gson インスタンスと "application/json" および "application/*+json" MIME 型を使用して、新しいエンコーダを構築します。"application/x-ndjson" はストリーミング用に設定されています。
    • GsonEncoder

      public GsonEncoder(com.google.gson.Gson gson, MimeType... mimeTypes)
      指定された Gson インスタンスと MIME 型を使用して、新しいエンコーダを構築します。ストリーミングメディア型の設定には setStreamingMediaTypes(List) を使用してください。
      パラメーター:
      gson - 使用する gson インスタンス
      mimeTypes - デコーダーがサポートする MIME 型
  • メソッドの詳細

    • setStreamingMediaTypes

      public void setStreamingMediaTypes(ListSE<MediaType> mediaTypes)
      ストリームの最後で自動的にフラッシュを実行する「ストリーミング」メディア型を設定します。
    • getStreamingMediaTypes

      public ListSE<MediaType> getStreamingMediaTypes()
      インターフェースからコピーされた説明: HttpMessageEncoder
      入力ストリームの最後で自動的にフラッシュを実行する必要がある「ストリーミング」メディア型を返します。
      次で指定:
      インターフェース HttpMessageEncoder<ObjectSE>getStreamingMediaTypes 
    • canEncode

      public boolean canEncode(ResolvableType elementType, @Nullable MimeType mimeType)
      インターフェースからコピーされた説明: Encoder
      エンコーダが特定のソース要素型と出力ストリームの MIME 型をサポートするかどうか。
      次で指定:
      インターフェース Encoder<ObjectSE>canEncode 
      オーバーライド:
      クラス AbstractEncoder<ObjectSE>canEncode 
      パラメーター:
      elementType - ソースストリーム内の要素の型
      mimeType - 出力ストリームの MIME 型 (指定しない場合は null にすることができます)
      戻り値:
      サポートされている場合は true、サポートされていない場合は false 
    • encode

      public Flux<DataBuffer> encode(Publisher<?> inputStream, DataBufferFactory bufferFactory, ResolvableType elementType, @Nullable MimeType mimeType, @Nullable MapSE<StringSE,ObjectSE> hints)
      インターフェースからコピーされた説明: Encoder
      型 T のオブジェクトのストリームを DataBuffer 出力ストリームにエンコードします。
      次で指定:
      インターフェース Encoder<ObjectSE>encode 
      パラメーター:
      inputStream - エンコードするオブジェクトの入力ストリーム。入力を要素のストリームではなく単一の値としてエンコードする必要がある場合は、Mono のインスタンスを使用する必要があります。
      bufferFactory - 出力ストリーム DataBuffer を作成するための
      elementType - 入力ストリーム内の要素の予想される型。この型は、事前に Encoder.canEncode(ResolvableType, MimeType) メソッドに渡されていなければならず、true を返さなければなりません。
      mimeType - 出力コンテンツの MIME 型 (オプション)
      hints - エンコード方法に関する追加情報
      戻り値:
      出力ストリーム
    • encodeValue

      public DataBuffer encodeValue(ObjectSE value, DataBufferFactory bufferFactory, ResolvableType valueType, @Nullable MimeType mimeType, @Nullable MapSE<StringSE,ObjectSE> hints)
      インターフェースからコピーされた説明: Encoder
      型 T のオブジェクトをデータバッファーにエンコードします。これは、個別のメッセージ(またはイベント)が完全に集約された形式で個別にエンコードおよび処理されるシナリオで役立ちます。

      デフォルトでは、このメソッドは UnsupportedOperationExceptionSE を発生させ、一部のエンコーダーは単一のバッファーを生成できないか、同期的に生成できないことが予想されます (たとえば、Resource をエンコードする)。

      次で指定:
      インターフェース Encoder<ObjectSE>encodeValue 
      パラメーター:
      value - エンコードされる値
      bufferFactory - 出力 DataBuffer を作成するため
      valueType - エンコードされる値の型
      mimeType - 出力コンテンツの MIME 型 (オプション)
      hints - エンコード方法に関する追加情報
      戻り値:
      エンコードされたコンテンツ
    • isStreamingMediaType

      protected boolean isStreamingMediaType(@Nullable MimeType mimeType)
      指定された mime 型に使用するセパレータを返します。

      デフォルトでは、指定された mime 型が構成済みの streaming mime 型のいずれかである場合、このメソッドは改行 "\n" を返します。