Интерфейс HttpRequest.Builder
- Вложенный класс:
HttpRequest
public static interface HttpRequest.Builder
Экземпляры 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 |
Запрашивает у сервера подтверждение запроса перед отправкой тела. |
HttpRequest.Builder |
GET() |
Устанавливает метод запроса этого построителя в GET. |
default HttpRequest.Builder |
HEAD() |
Устанавливает метод запроса этого построителя в HEAD. |
HttpRequest.Builder |
header |
Добавляет заданную пару имя-значение в набор заголовков для этого запроса. |
HttpRequest.Builder |
headers |
Добавляет заданные пары имя-значение в набор заголовков для этого запроса. |
HttpRequest.Builder |
method |
Устанавливает метод запроса и тело запроса этого построителя в заданные значения. |
HttpRequest.Builder |
POST |
Устанавливает метод запроса этого построителя в POST и устанавливает издателя тела запроса в заданное значение. |
HttpRequest.Builder |
PUT |
Устанавливает метод запроса этого построителя в PUT и устанавливает издателя тела запроса в заданное значение. |
HttpRequest.Builder |
setHeader |
Устанавливает заданную пару имя-значение в набор заголовков для этого запроса. |
HttpRequest.Builder |
timeout |
Устанавливает таймаут для этого запроса. |
HttpRequest.Builder |
uri |
Устанавливает запрос этого HttpRequest URI. |
HttpRequest.Builder |
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)
Соответствующий 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()
- Возвращает:
- этот билдер
POST
HttpRequest.Builder POST(HttpRequest.BodyPublisher bodyPublisher)
- Параметры:
-
bodyPublisher- издатель тела - Возвращает:
- этот билдер
PUT
HttpRequest.Builder PUT(HttpRequest.BodyPublisher bodyPublisher)
- Параметры:
-
bodyPublisher- издатель тела - Возвращает:
- этот билдер
DELETE
HttpRequest.Builder DELETE()
- Возвращает:
- этот билдер
HEAD
default HttpRequest.Builder 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