Spec-Zone.ru › OpenJDK 24

Интерфейс HttpRequest.BodyPublisher

Все суперинтерфейсы:
Flow.Publisher<ByteBuffer>
Вложенный класс:
HttpRequest
public static interface HttpRequest.BodyPublisher extends Flow.Publisher<ByteBuffer>
Класс BodyPublisher преобразует высокоуровневые Java-объекты в поток байтовых буферов, подходящих для отправки в качестве тела запроса. Класс BodyPublishers предоставляет реализации многих распространённых издателей.

Интерфейс BodyPublisher расширяет Flow.Publisher<ByteBuffer>, что означает, что BodyPublisher действует как издатель байтовых буферов.

При отправке запроса, содержащего тело, HTTP-клиент подписывается на BodyPublisher запроса для получения потока исходящих данных тела запроса. Стандартная семантика Flow.Subscriber и Flow.Publisher реализуется HTTP-клиентом и ожидается от реализаций BodyPublisher. Каждый исходящий запрос приводит к тому, что один HTTP-клиент Subscriber подписывается на BodyPublisher для предоставления последовательности байтовых буферов, содержащих тело запроса. Экземпляры ByteBuffer, опубликованные издателем, должны быть выделены издателем и не должны использоваться после публикации в HTTP-клиенте. Эти подписки завершаются обычно при полном отправлении тела запроса и могут быть отменены или прерваны из-за ошибки. Если запрос необходимо отправить повторно по какой-либо причине, создаётся новая подписка, которая должна генерировать те же данные, что и раньше.

BodyPublisher, сообщающий о длине содержимого 0, может не быть подписан HTTP-клиентом, так как у него фактически нет данных для публикации.

С:
11
См. также:
  • HttpRequest.BodyPublishers

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

Модификатор и тип Метод Описание
long contentLength()
Возвращает длину содержимого для данного тела запроса.

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

subscribe

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

contentLength

long contentLength()
Возвращает длину содержимого для данного тела запроса. Может быть нулём, если тело запроса не передаётся, больше нуля для содержимого фиксированной длины или меньше нуля для неизвестной длины содержимого.

Этот метод может быть вызван до того, как издатель будет подписан. Этот метод может быть вызван реализацией HTTP-клиента более одного раза и ДОЛЖЕН возвращать одно и то же значение каждый раз.

Возвращает:
длину содержимого для данного тела запроса, если она известна

© 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/HttpRequest.BodyPublisher.html

Spec-Zone.ru

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