Интерфейс HttpRequest.Builder
- Вложенный класс:
- HttpRequest
public static interface HttpRequest.Builder
Экземпляры HttpRequest.Builder создаются путем вызова HttpRequest.newBuilder(), HttpRequest.newBuilder(URI) или HttpRequest.newBuilder(HttpRequest, BiPredicate).
Построитель можно использовать для настройки состояния запроса, такого как: URI запроса, метод запроса (по умолчанию GET, если не указан явно), специфичные заголовки запроса и т.д. Каждый из методов-сеттеров изменяет состояние построителя и возвращает тот же экземпляр. Методы не синхронизированы и не должны вызываться из нескольких потоков без внешней синхронизации. Метод build возвращает новый HttpRequest каждый раз при вызове. После построения
HttpRequest становится неизменяемым и может быть отправлен многократно.
Обратите внимание, что не все заголовки запроса могут быть установлены кодом пользователя. Некоторые заголовки ограничены по соображениям безопасности, а другие, такие как заголовки, связанные с аутентификацией, перенаправлением и управлением cookie, могут управляться специфическими API, а не устанавливаться напрямую пользователем.
- С тех пор:
- 11
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
HttpRequest |
build() |
Строит и возвращает HttpRequest. |
HttpRequest.Builder |
copy() |
Возвращает точную копию этого Builder на основе текущего состояния. |
HttpRequest.Builder |
DELETE() |
Устанавливает метод запроса этого построителя в DELETE. |
HttpRequest.Builder |
expectContinue |
Запрашивает сервер подтвердить запрос перед отправкой тела. |
HttpRequest.Builder |
GET() |
Устанавливает метод запроса этого построителя в GET. |
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)
HttpClient.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, то есть блокировка до бесконечности.- Параметры:
-
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()
- Возвращает:
- этот билдер
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 - Исключение:
-
IllegalStateException- если URI не был задан
copy
HttpRequest.Builder copy()
Builder на основе текущего состояния. Новый билдер может быть изменён независимо от этого билдера.- Возвращает:
- точная копия этого билдера
© 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.Builder.html