Интерфейс 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-клиенте. Эти подписки завершаются нормально, когда тело запроса полностью отправлено, и могут быть отменены или прерваны преждевременно из-за ошибки. Если запрос необходимо повторно отправить по какой-либо причине, создаётся новая подписка, которая должна генерировать те же данные, что и прежде.
A BodyPublisher который сообщает о длине содержимого 0 может не быть подписан HTTP-клиентом, так как он фактически не имеет данных для публикации.
- С:
- 11
- См. также:
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
long |
contentLength() |
Возвращает длину содержимого для этого тела запроса. |
Методы, объявленные в интерфейсе java.util.concurrent.Flow.Publisher
subscribe
Подробное описание методов
contentLength
long contentLength()
Этот метод может быть вызван до подписки на издателя. Этот метод может быть вызван более одного раза реализацией HTTP-клиента и ДОЛЖЕН возвращать одно и то же постоянное значение каждый раз.
- Возвращает:
- длина содержимого для этого тела запроса, если известно
© 1993, 2021, 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/17/docs/api/java.net.http/java/net/http/HttpRequest.BodyPublisher.html