-
- All Superinterfaces:
-
Flow.Publisher<ByteBuffer>
- Enclosing class:
- HttpRequest
public static interface HttpRequest.BodyPublisher extends Flow.Publisher<ByteBuffer>
BodyPublisher
将高级Java对象转换为适合作为请求主体发送的字节缓冲区流。 类BodyPublishers
提供了许多常见发布者的实现。所述
BodyPublisher
接口延伸Flow.Publisher<ByteBuffer>
,这意味着一个BodyPublisher
充当的发布者byte buffers 。当发送包含正文的请求时,HTTP客户端订阅请求的
BodyPublisher
,以便接收传出请求正文数据流。Flow.Subscriber
和Flow.Publisher
的正常语义由HTTP客户端实现,并且预期来自BodyPublisher
实现。 每个传出请求导致一个HTTP客户端Subscriber
订阅BodyPublisher
,以便提供包含请求主体的字节缓冲区序列。 发布者发布的实例ByteBuffer
必须由发布者分配,并且在发布到HTTP客户端后不得访问。 这些订阅在请求正文完全发送时正常完成,并且可以通过错误提前取消或终止。 如果由于任何原因需要重新发送请求,则会创建一个新订阅,该订阅预计会生成与以前相同的数据。一个
BodyPublisher
一个报告content length的0
可能不被HTTP客户端进行订阅,因为它没有有效的数据公布。- 从以下版本开始:
- 11
- 另请参见:
-
HttpRequest.BodyPublishers
-
-
方法摘要
所有方法 实例方法 抽象方法 变量和类型 方法 描述 long
contentLength()
返回此请求正文的内容长度。-
声明方法的接口 java.util.concurrent.Flow.Publisher
subscribe
-
-