Spec-Zone.ru › OpenJDK 24

Интерфейс 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 должна обеспечивать запрос дополнительных данных до сигнализации одного из 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, 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://download.java.net/java/early_access/jdk24/docs/api/java.net.http/java/net/http/HttpResponse.BodySubscriber.html

Spec-Zone.ru

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