Spec-Zone.ru › OpenJDK 24

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

Вложенный класс:
HttpRequest
public static interface HttpRequest.Builder
Построитель HTTP-запросов.

Экземпляры HttpRequest.Builder создаются вызовом HttpRequest.newBuilder(), HttpRequest.newBuilder(URI) или HttpRequest.newBuilder(HttpRequest, BiPredicate).

Построитель можно использовать для настройки состояния каждого запроса, например: URI запроса, метод запроса (по умолчанию GET, если не указан явно), определённые заголовки запроса и т. д. Каждый метод-сеттер изменяет состояние построителя и возвращает тот же экземпляр. Методы не синхронизированы и не должны вызываться из нескольких потоков без внешней синхронизации. Метод build возвращает новый HttpRequest каждый раз при вызове. После построения HttpRequest становится неизменяемым и может быть отправлен несколько раз.

Обратите внимание, что не все заголовки запроса могут быть заданы кодом пользователя. Некоторые заголовки ограничены по соображениям безопасности, а другие, такие как заголовки, относящиеся к аутентификации, перенаправлению и управлению куки, могут управляться специфическими API, а не задаваться непосредственно пользователем.

С момента:
11

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

Модификатор и тип Метод Описание
HttpRequest build()
Строит и возвращает HttpRequest.
HttpRequest.Builder copy()
Возвращает точную копию этого Builder на основе текущего состояния.
HttpRequest.Builder DELETE()
Устанавливает метод запроса этого построителя в DELETE.
HttpRequest.Builder expectContinue(boolean enable)
Запрашивает у сервера подтверждение запроса перед отправкой тела.
HttpRequest.Builder GET()
Устанавливает метод запроса этого построителя в GET.
default HttpRequest.Builder HEAD()
Устанавливает метод запроса этого построителя в HEAD.
HttpRequest.Builder header(String name, String value)
Добавляет заданную пару имя-значение в набор заголовков для этого запроса.
HttpRequest.Builder headers(String... headers)
Добавляет заданные пары имя-значение в набор заголовков для этого запроса.
HttpRequest.Builder method(String method, HttpRequest.BodyPublisher bodyPublisher)
Устанавливает метод запроса и тело запроса этого построителя в заданные значения.
HttpRequest.Builder POST(HttpRequest.BodyPublisher bodyPublisher)
Устанавливает метод запроса этого построителя в POST и устанавливает издателя тела запроса в заданное значение.
HttpRequest.Builder PUT(HttpRequest.BodyPublisher bodyPublisher)
Устанавливает метод запроса этого построителя в PUT и устанавливает издателя тела запроса в заданное значение.
HttpRequest.Builder setHeader(String name, String value)
Устанавливает заданную пару имя-значение в набор заголовков для этого запроса.
HttpRequest.Builder timeout(Duration duration)
Устанавливает таймаут для этого запроса.
HttpRequest.Builder uri(URI uri)
Устанавливает запрос этого HttpRequest URI.
HttpRequest.Builder version(HttpClient.Version version)
Устанавливает предпочтительную версию HttpClient.Version для этого запроса.

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

uri

HttpRequest.Builder uri(URI uri)
Устанавливает HttpRequest URI для запроса.
Параметры:
uri - URI запроса
Возвращает:
этот билдер
Выбрасывает:
IllegalArgumentException - если схема URI не поддерживается

expectContinue

HttpRequest.Builder expectContinue(boolean enable)
Запрашивает у сервера подтверждение запроса перед отправкой тела. По умолчанию отключено. Если включено, серверу запрашивается отправить ответ об ошибке или ответ 100 Continue перед отправкой клиентом тела запроса. Это означает, что издатель запроса для запроса не будет вызван до получения этого промежуточного ответа.
Параметры:
enable - true, если нужно отправить Expect continue
Возвращает:
этот билдер

version

HttpRequest.Builder version(HttpClient.Version version)
Устанавливает предпочтительную версию протокола HTTP для этого запроса.

Соответствующий HttpResponse должен быть проверен на версию, которая фактически использовалась. Если версия не установлена в запросе, то запрошенная версия будет версией отправляющего HttpClient.

Параметры:
version - запрошенная версия протокола HTTP
Возвращает:
этот билдер

header

HttpRequest.Builder header(String name, String value)
Добавляет заданную пару имя-значение к набору заголовков для этого запроса. Заданное значение добавляется в список значений для данного имени.
Примечание реализации:
Реализация может ограничить некоторые имена или значения заголовков, так как HTTP-клиент может определить их значение самостоятельно. Например, "Content-Length", которое будет определено издателем запроса. В таком случае, реализация HttpRequest.Builder может выбрать выброс IllegalArgumentException, если такой заголовок передаётся билдеру.
Параметры:
name - имя заголовка
value - значение заголовка
Возвращает:
этот билдер
Выбрасывает:
IllegalArgumentException - если имя или значение заголовка не валидно, см. RFC 7230 раздел 3.2, или имя или значение заголовка ограничено реализацией.

headers

HttpRequest.Builder headers(String... headers)
Добавляет заданные пары имя-значение в набор заголовков для этого запроса. Передаваемые String значения должны чередоваться как имена заголовков и значения заголовков. Чтобы добавить несколько значений к одному имени, это имя должно указываться вместе с каждым новым значением.
Параметры:
headers - список пар имя-значение
Возвращает:
этот билдер
Выбрасывает:
IllegalArgumentException - если количество параметров нечётное, или имя или значение заголовка не валидно, см. RFC 7230 раздел 3.2, или имя или значение заголовка ограничено реализацией.

timeout

HttpRequest.Builder timeout(Duration duration)
Устанавливает таймаут для этого запроса. Если ответ не получен в течение указанного таймаута, из HttpTimeoutException будет выброшено исключение HttpClient::send или HttpClient::sendAsync завершится с исключением HttpTimeoutException. Отсутствие таймаута эквивалентно установке бесконечного таймаута, т.е. ожидание бесконечно.
Параметры:
duration - продолжительность таймаута
Возвращает:
этот билдер
Выбрасывает:
IllegalArgumentException - если продолжительность не положительная

setHeader

HttpRequest.Builder setHeader(String name, String value)
Устанавливает заданную пару имя-значение в набор заголовков для этого запроса. Заменяет любые ранее установленные значения для имени.
Параметры:
name - имя заголовка
value - значение заголовка
Возвращает:
этот билдер
Выбрасывает:
IllegalArgumentException - если имя или значение заголовка не валидно, см. RFC 7230 раздел 3.2, или имя или значение заголовка ограничено реализацией.

GET

HttpRequest.Builder GET()
Устанавливает метод запроса этого билдера в GET. Это значение по умолчанию.
Возвращает:
этот билдер

POST

HttpRequest.Builder POST(HttpRequest.BodyPublisher bodyPublisher)
Устанавливает метод запроса этого билдера в POST и устанавливает издателя тела запроса в заданное значение.
Параметры:
bodyPublisher - издатель тела
Возвращает:
этот билдер

PUT

HttpRequest.Builder PUT(HttpRequest.BodyPublisher bodyPublisher)
Устанавливает метод запроса этого билдера в PUT и устанавливает издателя тела запроса в заданное значение.
Параметры:
bodyPublisher - издатель тела
Возвращает:
этот билдер

DELETE

HttpRequest.Builder DELETE()
Устанавливает метод запроса этого билдера в DELETE.
Возвращает:
этот билдер

HEAD

default HttpRequest.Builder HEAD()
Устанавливает метод запроса этого билдера в HEAD.
Требования к реализации:
Ожидается, что реализация будет вести себя так же, как: return method("HEAD", BodyPublishers.noBody());
Возвращает:
этот билдер
С:
18

method

HttpRequest.Builder method(String method, HttpRequest.BodyPublisher bodyPublisher)
Устанавливает метод запроса и издателя тела запроса этого билдера в заданные значения.
Примечание API:
Издатель тела запроса noBody может использоваться в случаях, когда тело запроса не требуется или не подходит. Ограничивается ли какой-либо метод, зависит от реализации. Например, некоторые реализации могут ограничить метод CONNECT.
Параметры:
method - метод, который нужно использовать
bodyPublisher - издатель тела
Возвращает:
этот билдер
Выбрасывает:
IllegalArgumentException - если имя метода не валидно, см. RFC 7230 раздел 3.1.1, или метод ограничен реализацией.

build

HttpRequest build()
Создаёт и возвращает HttpRequest.
Требования к реализации:
Этот метод возвращает новый HttpRequest каждый раз при вызове. После создания HttpRequest является неизменяемым и может быть отправлен несколько раз.
Возвращает:
новый HttpRequest
Выбрасывает:
IllegalStateException - если URI не был установлен

copy

HttpRequest.Builder copy()
Возвращает точную копию этого билдера, основанную на текущем состоянии. Новый билдер может быть изменён независимо от этого билдера.
Возвращает:
точная копия этого билдера

© 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.Builder.html

Spec-Zone.ru

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