Интерфейс HttpResponse.BodySubscriber<T>

Параметры типа:
T - тип тела ответа
Все суперинтерфейсы:
Flow.Subscriber<List<ByteBuffer>>
Включающий интерфейс:
HttpResponse<T>
public static interface HttpResponse.BodySubscriber<T>
extends Flow.Subscriber<List<ByteBuffer>>

A BodySubscriber потребляет байты тела ответа и преобразует их в тип Java более высокого уровня. Класс BodySubscriber предоставляет реализации многих общих подписчиков тела.

Объект действует как Flow.Subscriber<List<ByteBuffer>> для реализации HTTP-клиента, которая публикует списки ByteBuffers, содержащие тело ответа. Поток данных, а также порядок ByteBuffers в списках потока — строго упорядоченное представление тела ответа. После передачи подписчику списки и ByteBuffers больше не используются HTTP-клиентом. Подписчик преобразует поступающие буферы данных в тип Java более высокого уровня T.

Метод getBody() возвращает CompletionStage<T>, который предоставляет объект тела ответа. Объект CompletionStage должен быть доступен в любой момент. Когда он завершится, зависит от природы типа T. Во многих случаях, когда T представляет собой все тело после потребления, CompletionStage завершается после потребления тела. Если T — тип потоковой передачи, например InputStream, то он завершается до чтения тела, так как вызывающий код использует InputStream для потребления данных.

Примечание по API:
Чтобы убедиться, что все ресурсы, связанные с соответствующим HTTP-обменом, должным образом освобождены, реализация BodySubscriber должна гарантировать request больше данных до тех пор, пока не будет сигнализировано об одном из onComplete или onError, или cancel своей подписке, если это невозможно или нежелательно. Вызов cancel до исчерпания данных тела ответа может привести к закрытию базового HTTP-соединения и помешать его повторному использованию для последующих операций.
Примечание по реализации:
Поток данных, содержащих тело ответа, неизменяем. В частности, это поток неизменяемых списков только для чтения 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 для тела ответа

© 1993, 2020, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/11/docs/api/java.net.http/java/net/http/HttpResponse.BodySubscriber.html

Spec-Zone .ru
спецификации, руководства, описания, API