-
- 参数类型
-
T
- 响应正文类型
- All Superinterfaces:
-
Flow.Subscriber<List<ByteBuffer>>
- Enclosing interface:
- HttpResponse < T >
public static interface HttpResponse.BodySubscriber<T>extends Flow.Subscriber<List<ByteBuffer>>
BodySubscriber
响应正文字节并将它们转换为更高级别的Java类型。 类BodySubscriber
提供许多共同身体订户的实现。该对象充当HTTP Client实现的
Flow.Subscriber
<List
<ByteBuffer
>>,它发布包含响应主体的ByteBuffers列表。 数据流以及流列表中ByteBuffers的顺序是响应主体的严格有序表示。 一旦传递给订户,Lists和ByteBuffers都不再被HTTP客户端使用。 订阅者将传入的数据缓冲区转换为某种更高级别的Java类型T
。getBody()
方法返回CompletionStage
<T
>,它提供响应正文对象。CompletionStage
必须随时可以获得。 何时完成取决于类型T
的性质。 在许多情况下,当T
表示所消耗那么后整个身体CompletionStage
身体已经消耗完成之后。 如果T
是流类型,例如InputStream
,则它在读取正文之前完成,因为调用代码使用InputStream
来使用数据。- API Note:
- 为了确保与相应HTTP交换相关联的所有资源都得到适当释放,
BodySubscriber
的实施应该确保50638670431919更多数据,直到onComplete
或onError
之一发出信号,或者cancel
cancel
cancel
如果不能或不愿意这样做。 在耗尽响应主体数据之前调用cancel
可能导致底层HTTP连接被关闭并阻止其被重用于后续操作。 - Implementation Note:
- 包含响应主体的数据流是不可变的。 具体来说,它是一个只读的ByteBuffers的不可修改列表流。
- 从以下版本开始:
- 11
- 另请参见:
-
HttpResponse.BodySubscribers
-
-
方法摘要
所有方法 实例方法 抽象方法 变量和类型 方法 描述 CompletionStage<T>
getBody()
返回CompletionStage
,完成后将返回响应正文对象。-
声明方法的接口 java.util.concurrent.Flow.Subscriber
onComplete, onError, onNext, onSubscribe
-
-
-
-
方法详细信息
-
getBody
CompletionStage<T> getBody()
返回CompletionStage
,完成后将返回响应正文对象。 此方法可以在任何时候相对于其他Flow.Subscriber
方法调用,并使用客户端的executor
调用。- 结果
- 响应正文的CompletionStage
-
-