クラス ProtobufJsonDecoder
java.lang.ObjectSE
org.springframework.http.codec.protobuf.ProtobufJsonDecoder
- 実装されたすべてのインターフェース:
Decoder<com.google.protobuf.Message>
JSON バイトストリームを読み取り、それを Google プロトコルバッファ
Message
に変換する Decoder
。decode(Publisher, ResolvableType, MimeType, Map)
経由でデシリアライズされた Flux は、Protobuf Java Util ライブラリが JSON ストリームをトークンに分割するノンブロッキングパーサーを提供しないため、サポートされていません。アプリケーションは、サポートされている decodeToMono(Publisher, ResolvableType, MimeType, Map)
を使用する Mono<Message>
または Mono<List<Message>>
へのデコードを検討する必要があります。
Message
Java クラスを生成するには、protoc
バイナリをインストールする必要があります。
このデコーダーには Protobuf 3.29 以上が必要であり、公式の "com.google.protobuf:protobuf-java-util"
ライブラリを使用して "application/json"
および "application/*+json"
をサポートします。
- 導入:
- 6.2
- 作成者:
- Brian Clozel
- 関連事項:
フィールドのサマリー
フィールドコンストラクターの概要
コンストラクターコンストラクター説明デフォルトのJsonFormat.Parser
インスタンスを使用して新しいProtobufJsonDecoder
を構築します。ProtobufJsonDecoder
(com.google.protobuf.util.JsonFormat.Parser parser) 指定されたJsonFormat.Parser
インスタンスを使用して新しいProtobufJsonDecoder
を構築します。メソッドのサマリー
修飾子と型メソッド説明boolean
canDecode
(ResolvableType elementType, MimeType mimeType) デコーダーが特定のターゲット要素型とソースストリームの MIME 型をサポートするかどうか。reactor.core.publisher.Flux<com.google.protobuf.Message>
decode
(Publisher<DataBuffer> inputStream, ResolvableType targetType, MimeType mimeType, MapSE<StringSE, ObjectSE> hints) DataBuffer
入力ストリームをT
の Flux にデコードします。com.google.protobuf.Message
decode
(DataBuffer dataBuffer, ResolvableType targetType, MimeType mimeType, MapSE<StringSE, ObjectSE> hints) データバッファを型 T のオブジェクトにデコードします。reactor.core.publisher.Mono<com.google.protobuf.Message>
decodeToMono
(Publisher<DataBuffer> inputStream, ResolvableType elementType, MimeType mimeType, MapSE<StringSE, ObjectSE> hints) DataBuffer
入力ストリームをT
の Mono にデコードします。このデコーダーでサポートされている MIME 型のリストを返します。int
configured
メッセージのサイズ制限を返します。void
setMaxMessageSize
(int maxMessageSize) メッセージごとに許可される最大サイズ。クラス java.lang.ObjectSE から継承されたメソッド
clone, equalsSE, finalize, getClass, hashCode, notify, notifyAll, toString, wait, waitSE, waitSE
インターフェース org.springframework.core.codec.Decoder から継承されたメソッド
getDecodableMimeTypes
フィールドの詳細
DEFAULT_MESSAGE_MAX_SIZE
protected static final int DEFAULT_MESSAGE_MAX_SIZEメッセージを集約するためのデフォルトの最大サイズ。- 関連事項:
コンストラクターの詳細
ProtobufJsonDecoder
public ProtobufJsonDecoder()デフォルトのJsonFormat.Parser
インスタンスを使用して新しいProtobufJsonDecoder
を構築します。ProtobufJsonDecoder
public ProtobufJsonDecoder(com.google.protobuf.util.JsonFormat.Parser parser) 指定されたJsonFormat.Parser
インスタンスを使用して新しいProtobufJsonDecoder
を構築します。
メソッドの詳細
getMaxMessageSize
public int getMaxMessageSize()configured
メッセージのサイズ制限を返します。setMaxMessageSize
public void setMaxMessageSize(int maxMessageSize) メッセージごとに許可される最大サイズ。デフォルトでは、これは 256K に設定されています。
- パラメーター:
maxMessageSize
- メッセージごとの最大サイズ、または無制限の場合は -1
canDecode
インターフェースからコピーされた説明:Decoder
デコーダーが特定のターゲット要素型とソースストリームの MIME 型をサポートするかどうか。getDecodableMimeTypes
インターフェースからコピーされた説明:Decoder
このデコーダーでサポートされている MIME 型のリストを返します。このリストは、考えられるすべてのターゲット要素型に適用されるとは限らないため、このメソッドの呼び出しは通常、canDecode(elementType, null)
を介して保護する必要があります。このリストでは、特定の要素型でのみサポートされている MIME 型を除外することもできます。または、Decoder.getDecodableMimeTypes(ResolvableType)
を使用してより正確なリストを作成します。- 次で指定:
- インターフェース
Decoder<com.google.protobuf.Message>
のgetDecodableMimeTypes
- 戻り値:
- サポートされている MIME 型のリスト
decode
public reactor.core.publisher.Flux<com.google.protobuf.Message> decode(Publisher<DataBuffer> inputStream, ResolvableType targetType, @Nullable MimeType mimeType, @Nullable MapSE<StringSE, ObjectSE> hints) インターフェースからコピーされた説明:Decoder
DataBuffer
入力ストリームをT
の Flux にデコードします。- 次で指定:
- インターフェース
Decoder<com.google.protobuf.Message>
のdecode
- パラメーター:
inputStream
- デコードするDataBuffer
入力ストリームtargetType
- 出力ストリーム内の要素の予想される型。この型は、事前にDecoder.canDecode(org.springframework.core.ResolvableType, org.springframework.util.MimeType)
メソッドに渡されている必要があり、true
を返している必要があります。mimeType
- 入力ストリームに関連付けられた MIME 型 (オプション)hints
- デコード方法に関する追加情報- 戻り値:
- デコードされた要素を含む出力ストリーム
decode
public com.google.protobuf.Message decode(DataBuffer dataBuffer, ResolvableType targetType, @Nullable MimeType mimeType, @Nullable MapSE<StringSE, ObjectSE> hints) throws DecodingExceptionインターフェースからコピーされた説明:Decoder
データバッファーを型 T のオブジェクトにデコードします。これは、個別のメッセージ(またはイベント)が完全に集約された形式で個別にデコードおよび処理されるシナリオで役立ちます。- 次で指定:
- インターフェース
Decoder<com.google.protobuf.Message>
のdecode
- パラメーター:
dataBuffer
- デコードするDataBuffer
targetType
- 予想される出力型mimeType
- データに関連付けられた MIME 型hints
- デコード方法に関する追加情報- 戻り値:
- デコードされた値、おそらく
null
- 例外:
DecodingException
decodeToMono
public reactor.core.publisher.Mono<com.google.protobuf.Message> decodeToMono(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
- デコード方法に関する追加情報- 戻り値:
- デコードされた要素を持つ出力ストリーム