クラス ProtobufJsonEncoder
java.lang.ObjectSE
org.springframework.http.codec.protobuf.ProtobufJsonEncoder
- 実装されたすべてのインターフェース:
Encoder<com.google.protobuf.Message>
,HttpMessageEncoder<com.google.protobuf.Message>
public class ProtobufJsonEncoder
extends ObjectSE
implements HttpMessageEncoder<com.google.protobuf.Message>
Message
を JSON として書き込む Encoder
。Message
Java クラスを生成するには、protoc
バイナリをインストールする必要があります。
このエンコーダーには Protobuf 3.29 以上が必要であり、公式の "com.google.protobuf:protobuf-java-util"
ライブラリを使用して "application/json"
と "application/*+json"
をサポートします。
- 導入:
- 6.2
- 作成者:
- Brian Clozel
- 関連事項:
コンストラクターの概要
コンストラクターコンストラクター説明デフォルトのJsonFormat.Printer
インスタンスを使用して新しいProtobufJsonEncoder
を構築します。ProtobufJsonEncoder
(com.google.protobuf.util.JsonFormat.Printer printer) 指定されたJsonFormat.Printer
インスタンスを使用して新しいProtobufJsonEncoder
を構築します。メソッドのサマリー
修飾子と型メソッド説明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 型のリストを返します。入力ストリームの最後で自動的にフラッシュを実行する必要がある「ストリーミング」メディア型を返します。クラス 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
コンストラクターの詳細
ProtobufJsonEncoder
public ProtobufJsonEncoder()デフォルトのJsonFormat.Printer
インスタンスを使用して新しいProtobufJsonEncoder
を構築します。ProtobufJsonEncoder
public ProtobufJsonEncoder(com.google.protobuf.util.JsonFormat.Printer printer) 指定されたJsonFormat.Printer
インスタンスを使用して新しいProtobufJsonEncoder
を構築します。
メソッドの詳細
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 型のリスト
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
- エンコード方法に関する追加情報- 戻り値:
- エンコードされたコンテンツ