Spec-Zone.ru › OpenJDK 25

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

Параметры типа:
T — тип тела ответа
Все суперинтерфейсы:
Flow.Subscriber<List<ByteBuffer>>
Внешний интерфейс:
HttpResponse<T>
public static interface HttpResponse.BodySubscriber<T> extends Flow.Subscriber<List<ByteBuffer>>
Объект BodySubscriber потребляет байты тела ответа и преобразует их в тип Java более высокого уровня. Класс BodySubscribers предоставляет реализации многих распространённых подписчиков тела ответа.

Этот объект выступает в роли 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-соединения и помешать его повторному использованию для последующих операций.
Примечание по реализации:
Поток данных, содержащий тело ответа, является неизменяемым. В частности, это поток неизменяемых списков буферов ByteBuffer, доступных только для чтения.
С версии:
11
См. также:
  • HttpResponse.BodySubscribers

Краткое описание методов

Модификатор и тип Метод Описание
CompletionStage<T> getBody()
Возвращает CompletionStage, который после завершения вернёт объект тела ответа.

Методы, объявленные в интерфейсе Flow.Subscriber

onComplete, onError, onNext, onSubscribe

Подробное описание методов

getBody

CompletionStage<T> getBody()
Возвращает CompletionStage, который после завершения вернёт объект тела ответа. Этот метод можно вызывать в любой момент относительно других методов Flow.Subscriber; он вызывается с использованием исполнителя клиента.
Возвращает:
CompletionStage для тела ответа

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по API и документацию для разработчиков см. в разделе Документация Java SE, содержащем более подробные описания для разработчиков, концептуальные обзоры, определения терминов, обходные решения и примеры работающего кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или её аффилированных лиц в США и других странах.
Авторские права © 1993, 2025, Oracle и/или её аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 1993, 2025, 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/25/docs/api/java.net.http/java/net/http/HttpResponse.BodySubscriber.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API