public class ProtobufDecoder extends ProtobufCodecSupport implements Decoder<com.google.protobuf.Message>
Message
を読み取る Decoder
。decode(Publisher, ResolvableType, MimeType, Map)
を介してデシリアライズされたフラックスは、メッセージ自体の前に指定された各メッセージのサイズで区切られた Protobuf メッセージを使用することが期待されます。decodeToMono(Publisher, ResolvableType, MimeType, Map)
を介してデシリアライズされた単一の値は、通常の Protobuf メッセージ形式を使用することが期待されます(メッセージの前にサイズが付加されることはありません)。
Protobuf メッセージのデフォルトインスタンスは空のバイト配列を生成するため、ネットワーク経由で送信される Mono.just(Msg.getDefaultInstance())
は空の Mono
としてデシリアライズされます。
Message
Java クラスを生成するには、protoc
バイナリをインストールする必要があります。
このデコーダーは Protobuf 3 以降を必要とし、公式 "com.google.protobuf:protobuf-java"
ライブラリで "application/x-protobuf"
および "application/octet-stream"
をサポートします。
ProtobufEncoder
修飾子と型 | フィールドと説明 |
---|---|
protected static int | DEFAULT_MESSAGE_MAX_SIZE メッセージを集約するためのデフォルトの最大サイズ。 |
コンストラクターと説明 |
---|
ProtobufDecoder() 新しい ProtobufDecoder を作成します。 |
ProtobufDecoder(com.google.protobuf.ExtensionRegistry extensionRegistry) メッセージ拡張の登録を許可する初期化子を使用して、新しい ProtobufDecoder を作成します。 |
修飾子と型 | メソッドと説明 |
---|---|
boolean | canDecode(ResolvableType elementType, MimeType mimeType) デコーダーが特定のターゲット要素型とソースストリームの MIME 型をサポートするかどうか。 |
reactor.core.publisher.Flux<com.google.protobuf.Message> | decode(org.reactivestreams.Publisher<DataBuffer> inputStream, ResolvableType elementType, MimeType mimeType, MapSE<StringSE, ObjectSE> hints) DataBuffer 入力ストリームを T の Flux にデコードします。 |
reactor.core.publisher.Mono<com.google.protobuf.Message> | decodeToMono(org.reactivestreams.Publisher<DataBuffer> inputStream, ResolvableType elementType, MimeType mimeType, MapSE<StringSE, ObjectSE> hints) DataBuffer 入力ストリームを T の Mono にデコードします。 |
ListSE<MimeType> | getDecodableMimeTypes() このデコーダーがサポートする MIME 型のリストを返します。 |
void | setMaxMessageSize(int maxMessageSize) |
getMimeTypes, supportsMimeType
cloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, toStringSE, waitSE, waitSE, waitSE
protected static final int DEFAULT_MESSAGE_MAX_SIZE
public ProtobufDecoder()
ProtobufDecoder
を作成します。public ProtobufDecoder(com.google.protobuf.ExtensionRegistry extensionRegistry)
ProtobufDecoder
を作成します。extensionRegistry
- メッセージ拡張レジストリ public void setMaxMessageSize(int maxMessageSize)
public boolean canDecode(ResolvableType elementType, @Nullable MimeType mimeType)
Decoder
public reactor.core.publisher.Flux<com.google.protobuf.Message> decode(org.reactivestreams.Publisher<DataBuffer> inputStream, ResolvableType elementType, @Nullable MimeType mimeType, @Nullable MapSE<StringSE,ObjectSE> hints)
Decoder
DataBuffer
入力ストリームを T
の Flux にデコードします。Decoder<com.google.protobuf.Message>
の decode
inputStream
- デコードする DataBuffer
入力ストリーム elementType
- 出力ストリーム内の要素の予想される型。この型は、事前に Decoder.canDecode(org.springframework.core.ResolvableType, org.springframework.util.MimeType)
メソッドに渡されている必要があり、true
を返している必要があります。mimeType
- 入力ストリームに関連付けられた MIME 型 (オプション)hints
- エンコード方法に関する追加情報 public reactor.core.publisher.Mono<com.google.protobuf.Message> decodeToMono(org.reactivestreams.Publisher<DataBuffer> inputStream, ResolvableType elementType, @Nullable MimeType mimeType, @Nullable MapSE<StringSE,ObjectSE> hints)
Decoder
DataBuffer
入力ストリームを T
の Mono にデコードします。Decoder<com.google.protobuf.Message>
の decodeToMono
inputStream
- デコードする DataBuffer
入力ストリーム elementType
- 出力ストリーム内の要素の予想される型。この型は、事前に Decoder.canDecode(org.springframework.core.ResolvableType, org.springframework.util.MimeType)
メソッドに渡されている必要があり、true
を返している必要があります。mimeType
- 入力ストリームに関連付けられた MIME 型 (オプション)hints
- エンコード方法に関する追加情報 public ListSE<MimeType> getDecodableMimeTypes()
Decoder
Decoder<com.google.protobuf.Message>
の getDecodableMimeTypes