Class ProtobufHttpMessageWriter
java.lang.Object
org.springframework.http.codec.EncoderHttpMessageWriter<com.google.protobuf.Message>
org.springframework.http.codec.protobuf.ProtobufHttpMessageWriter
- All Implemented Interfaces:
HttpMessageWriter<com.google.protobuf.Message>
public class ProtobufHttpMessageWriter
extends EncoderHttpMessageWriter<com.google.protobuf.Message>
HttpMessageWriter
that can write a protobuf Message
and adds
X-Protobuf-Schema
, X-Protobuf-Message
headers and a
delimited=true
parameter is added to the content type if a flux is serialized.
For HttpMessageReader
, just use
new DecoderHttpMessageReader(new ProtobufDecoder())
.
- Since:
- 5.1
- Author:
- Sebastien Deleuze
- See Also:
-
Constructor Summary
ConstructorDescriptionCreate a newProtobufHttpMessageWriter
with a defaultProtobufEncoder
.ProtobufHttpMessageWriter
(Encoder<com.google.protobuf.Message> encoder) Create a newProtobufHttpMessageWriter
with the given encoder. -
Method Summary
Modifier and TypeMethodDescriptionreactor.core.publisher.Mono<Void>
write
(Publisher<? extends com.google.protobuf.Message> inputStream, ResolvableType elementType, MediaType mediaType, ReactiveHttpOutputMessage message, Map<String, Object> hints) Write a given stream of object to the output message.Methods inherited from class org.springframework.http.codec.EncoderHttpMessageWriter
canWrite, getEncoder, getWritableMediaTypes, getWritableMediaTypes, getWriteHints, write
-
Constructor Details
-
ProtobufHttpMessageWriter
public ProtobufHttpMessageWriter()Create a newProtobufHttpMessageWriter
with a defaultProtobufEncoder
. -
ProtobufHttpMessageWriter
Create a newProtobufHttpMessageWriter
with the given encoder.- Parameters:
encoder
- the Protobuf message encoder to use
-
-
Method Details
-
write
public reactor.core.publisher.Mono<Void> write(Publisher<? extends com.google.protobuf.Message> inputStream, ResolvableType elementType, @Nullable MediaType mediaType, ReactiveHttpOutputMessage message, Map<String, Object> hints) Description copied from interface:HttpMessageWriter
Write a given stream of object to the output message.- Specified by:
write
in interfaceHttpMessageWriter<com.google.protobuf.Message>
- Overrides:
write
in classEncoderHttpMessageWriter<com.google.protobuf.Message>
- Parameters:
inputStream
- the objects to writeelementType
- the type of objects in the stream which must have been previously checked viaHttpMessageWriter.canWrite(ResolvableType, MediaType)
mediaType
- the content type for the write (possiblynull
to indicate that the default content type of the writer must be used)message
- the message to write tohints
- additional information about how to encode and write- Returns:
- indicates completion or error
-