クラス ProtobufEncoder
java.lang.ObjectSE
org.springframework.http.codec.protobuf.ProtobufCodecSupport
org.springframework.http.codec.protobuf.ProtobufEncoder
- 実装されたすべてのインターフェース:
Encoder<com.google.protobuf.Message>
,HttpMessageEncoder<com.google.protobuf.Message>
public class ProtobufEncoder
extends ProtobufCodecSupport
implements HttpMessageEncoder<com.google.protobuf.Message>
Google プロトコルバッファを使用して
Message
を書き込む Encoder
。Flux は、各メッセージのサイズがメッセージ自体の前に指定された、区切られた Protobuf メッセージを使用して直列化されます。単一の値は、通常の Protobuf メッセージ形式 (メッセージの前にサイズが付加されない) を使用して直列化されます。
Message
Java クラスを生成するには、protoc
バイナリをインストールする必要があります。
このエンコーダーには Protobuf 3.29 以上が必要であり、公式の "com.google.protobuf:protobuf-java"
ライブラリを使用して "application/x-protobuf"
と "application/octet-stream"
をサポートします。
- 導入:
- 5.1
- 作成者:
- Sebastien Deleuze
- 関連事項:
コンストラクターのサマリー
コンストラクター方法の概要
修飾子と型メソッド説明boolean
canEncode
(ResolvableType elementType, MimeType mimeType) エンコーダが特定のソース要素型と出力ストリームの MIME 型をサポートするかどうか。reactor.core.publisher.Flux<DataBuffer>
encode
(Publisher<? extends com.google.protobuf.Message> inputStream, DataBufferFactory bufferFactory, ResolvableType elementType, MimeType mimeType, MapSE<StringSE, ObjectSE> hints) 型T
のオブジェクトのストリームをDataBuffer
出力ストリームにエンコードします。encodeValue
(com.google.protobuf.Message message, DataBufferFactory bufferFactory, ResolvableType valueType, MimeType mimeType, MapSE<StringSE, ObjectSE> hints) 型 T のオブジェクトをデータバッファにエンコードします。このエンコーダーでサポートされている MIME 型のリストを返します。入力ストリームの最後で自動的にフラッシュを実行する必要がある「ストリーミング」メディア型を返します。クラス org.springframework.http.codec.protobuf.ProtobufCodecSupport から継承されたメソッド
getMimeTypes, supportsMimeType
クラス java.lang.ObjectSE から継承されたメソッド
clone, equalsSE, finalize, getClass, hashCode, notify, notifyAll, toString, wait, waitSE, waitSE
インターフェース org.springframework.core.codec.Encoder から継承されたメソッド
getEncodableMimeTypes
インターフェース org.springframework.http.codec.HttpMessageEncoder から継承されたメソッド
getEncodeHints
コンストラクターの詳細
ProtobufEncoder
public ProtobufEncoder()
メソッドの詳細
canEncode
インターフェースからコピーされた説明:Encoder
エンコーダが特定のソース要素型と出力ストリームの MIME 型をサポートするかどうか。encode
public reactor.core.publisher.Flux<DataBuffer> encode(Publisher<? extends com.google.protobuf.Message> inputStream, DataBufferFactory bufferFactory, ResolvableType elementType, @Nullable MimeType mimeType, @Nullable MapSE<StringSE, ObjectSE> hints) インターフェースからコピーされた説明:Encoder
型T
のオブジェクトのストリームをDataBuffer
出力ストリームにエンコードします。- 次で指定:
- インターフェース
Encoder<com.google.protobuf.Message>
のencode
- パラメーター:
inputStream
- エンコードするオブジェクトの入力ストリーム。入力を要素のストリームとしてではなく単一の値としてエンコードする必要がある場合は、Mono
のインスタンスを使用する必要があります。bufferFactory
- 出力ストリームDataBuffer
を作成するためのelementType
- 入力ストリーム内の要素の予想される型。この型は、事前にEncoder.canEncode(org.springframework.core.ResolvableType, org.springframework.util.MimeType)
メソッドに渡されていなければならず、true
を返さなければなりません。mimeType
- 出力コンテンツの MIME 型 (オプション)hints
- エンコード方法に関する追加情報- 戻り値:
- 出力ストリーム
encodeValue
public DataBuffer encodeValue(com.google.protobuf.Message message, DataBufferFactory bufferFactory, ResolvableType valueType, @Nullable MimeType mimeType, @Nullable MapSE<StringSE, ObjectSE> hints) インターフェースからコピーされた説明:Encoder
型 T のオブジェクトをデータバッファーにエンコードします。これは、個別のメッセージ(またはイベント)が完全に集約された形式で個別にエンコードおよび処理されるシナリオで役立ちます。デフォルトでは、このメソッドは
UnsupportedOperationException
SE を発生させ、一部のエンコーダーは単一のバッファーを生成できないか、同期的に生成できないことが予想されます (たとえば、Resource
をエンコードする)。- 次で指定:
- インターフェース
Encoder<com.google.protobuf.Message>
のencodeValue
- パラメーター:
message
- エンコードされる値bufferFactory
- 出力DataBuffer
を作成するためvalueType
- エンコードされる値の型mimeType
- 出力コンテンツの MIME 型 (オプション)hints
- エンコード方法に関する追加情報- 戻り値:
- エンコードされたコンテンツ
getStreamingMediaTypes
インターフェースからコピーされた説明:HttpMessageEncoder
入力ストリームの最後で自動的にフラッシュを実行する必要がある「ストリーミング」メディア型を返します。- 次で指定:
- インターフェース
HttpMessageEncoder<com.google.protobuf.Message>
のgetStreamingMediaTypes
getEncodableMimeTypes
インターフェースからコピーされた説明:Encoder
このエンコーダーでサポートされている MIME 型のリストを返します。このリストは、考えられるすべてのターゲット要素型に適用されるとは限らないため、このメソッドの呼び出しは通常、canEncode(elementType, null)
を介して保護する必要があります。このリストでは、特定の要素型でのみサポートされている MIME 型を除外することもできます。または、Encoder.getEncodableMimeTypes(ResolvableType)
を使用してより正確なリストを作成します。- 次で指定:
- インターフェース
Encoder<com.google.protobuf.Message>
のgetEncodableMimeTypes
- 戻り値:
- サポートされている MIME 型のリスト