-
- 参数类型
-
T- 响应体类型
- All Superinterfaces:
-
Flow.Subscriber<ByteBuffer>
- Enclosing class:
- HttpResponse < T >
public static interface HttpResponse.BodyProcessor<T> extends Flow.Subscriber<ByteBuffer>
响应机构的处理器。
Incubating Feature.将在以后的版本中删除。该对象作为发布包含响应正文的ByteBuffers的HTTP客户端实现的
Flow.Subscriber<ByteBuffer>。 处理器将传入的数据缓冲区转换为某些用户定义的对象类型T。getBody()方法返回一个CompletionStage<T>,它提供响应体对象。CompletionStage必须随时获得。 完成时取决于T型的性质。 在许多情况下,当T代表整个身体时,它在身体被读取之后就完成了。 如果T是一个流媒体类型,如InputStream,则在身体被读取之前完成,因为调用代码使用它来使用数据。
-
-
方法摘要
所有方法 静态方法 接口方法 抽象方法 Default Methods Modifier and Type 方法 描述 static HttpResponse.BodyProcessor<byte[]>asByteArray()返回一个BodyProcessor,它将响应体存储为字节数组。static HttpResponse.BodyProcessor<Void>asByteArrayConsumer(Consumer<Optional<byte[]>> consumer)返回一个BodyProcessor,它将传入的身体数据提供给提供的消费者Optional<byte[]>。static HttpResponse.BodyProcessor<Path>asFile(Path file)返回一个BodyProcessor,它将响应正文存储在以给定名称打开的文件中。static HttpResponse.BodyProcessor<Path>asFile(Path file, OpenOption... openOptions)返回一个BodyProcessor,它将响应体存储在用给定选项和名称打开的文件中。static HttpResponse.BodyProcessor<String>asString(Charset charset)返回一个主体处理器,其存储响应主体作为String使用给定的转换Charset。static <U> HttpResponse.BodyProcessor<U>discard(U value)返回一个丢弃响应体的响应处理器。CompletionStage<T>getBody()返回一个CompletionStage,当完成后将返回响应体对象。-
Methods inherited from interface java.util.concurrent.Flow.Subscriber
onComplete, onError, onNext, onSubscribe
-
-
-
-
方法详细信息
-
getBody
CompletionStage<T> getBody()
返回一个CompletionStage,当完成后将返回响应体对象。- 结果
- 响应机构的CompletionStage
-
asString
static HttpResponse.BodyProcessor<String> asString(Charset charset)
返回一个主体处理器,其存储响应主体作为String使用给定的转换Charset。HttpResponse使用此处理器在整个响应已被读取后可用。- 参数
-
charset- 用于转换字符串的字符集 - 结果
- 身体处理器
-
asByteArray
static HttpResponse.BodyProcessor<byte[]> asByteArray()
返回一个BodyProcessor,它将响应体存储为字节数组。在完整的响应被读取之后,使用此处理器的
HttpResponse可用。- 结果
- 身体处理器
-
asFile
static HttpResponse.BodyProcessor<Path> asFile(Path file, OpenOption... openOptions)
返回一个BodyProcessor,它将响应正文放在使用给定选项和名称打开的文件中。 该文件将使用FileChannel.open在身体读取之前使用给定的选项打开。 抛出的任何异常将根据情况从HttpClient::send或HttpClient::sendAsync返回或抛出。使用此处理器的
HttpResponse在读取完整响应后可用。- 参数
-
file- 存储身体的文件 -
openOptions- 打开文件的选项列表 - 结果
- 身体处理器
-
asByteArrayConsumer
static HttpResponse.BodyProcessor<Void> asByteArrayConsumer(Consumer<Optional<byte[]>> consumer)
返回一个BodyProcessor,它将传入的身体数据提供给提供的消费者Optional<byte[]>。 每次调用Consumer.accept()将包含一个非空的Optional,除了所有身体数据被读取之后的最终调用,当Optional将为空时。在完整的响应被读取之后,使用这个处理器的
HttpResponse可以使用。- 参数
-
consumer- 字节数组的消费者 - 结果
- 一个BodyProcessor
-
asFile
static HttpResponse.BodyProcessor<Path> asFile(Path file)
返回一个BodyProcessor,它将响应正文放在使用给定名称打开的文件中。 与调用同样的效果asFile与标准打开选项CREATE和WRITEHttpResponse使用此处理器可在整个响应被读取之后。- 参数
-
file- 存储身体的文件 - 结果
- 身体处理器
-
discard
static <U> HttpResponse.BodyProcessor<U> discard(U value)
返回一个丢弃响应体的响应处理器。 提供的值是从HttpResponse.body()返回的值。- 参数类型
-
U- 响应体的类型 - 参数
-
value- 从HttpResponse.body()返回的值 - 结果
-
一个
BodyProcessor
-
-