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

Вложенный класс:
HttpRequest
public static interface HttpRequest.Builder

Построитель HTTP-запросов.

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

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

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

С момента:
11

Методы

Модификатор и тип Метод Описание
HttpRequest build()

Строит и возвращает HttpRequest.

HttpRequest.Builder copy()

Возвращает точную копию этого Builder на основе текущего состояния.

HttpRequest.Builder DELETE()

Устанавливает метод запроса этого построителя в DELETE.

HttpRequest.Builder expectContinue​(boolean enable)

Запрашивает у сервера подтверждение запроса перед отправкой тела.

HttpRequest.Builder GET()

Устанавливает метод запроса этого построителя в GET.

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 этого HttpRequest.

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)

Устанавливает предпочтительную версию 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 - продолжительность таймаута
Возвращает:
этот билдер
Исключения:
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.

Возвращает:
этот билдер

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, 2020, 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/11/docs/api/java.net.http/java/net/http/HttpRequest.Builder.html

Spec-Zone .ru
спецификации, руководства, описания, API