Метод build
Метод build класса HttpClient.Builder создает
и возвращает новый экземпляр HttpClient. Билдер
позволяет предварительно настроить клиент: указать
перенаправления, таймаут соединения, исполнителя
задач и обработчик cookie. Метод не принимает
параметров и вызывается последним в цепочке
настроек билдера. Каждый вызов build создает
новый независимый объект HttpClient, поэтому
один и тот же билдер можно использовать многократно.
Синтаксис
HttpClient client = HttpClient.newBuilder().build();
Пример
Давайте создадим простейший клиент с настройками по умолчанию и выведем его версию:
import java.net.http.HttpClient;
public class Main
{
public static void main(String[] args)
{
HttpClient client = HttpClient.newBuilder().build();
System.out.println(client.version());
}
}
Результат выполнения кода:
"HTTP_2"
Пример
Давайте создадим клиент с указанием стратегии перенаправлений и таймаута соединения:
import java.net.http.HttpClient;
import java.time.Duration;
public class Main
{
public static void main(String[] args)
{
HttpClient client = HttpClient.newBuilder()
.followRedirects(HttpClient.Redirect.NORMAL)
.connectTimeout(Duration.ofSeconds(10))
.build();
System.out.println(client.followRedirects());
System.out.println(client.connectTimeout());
}
}
Результат выполнения кода:
"NORMAL"
"Optional[PT10S]"
Пример
Давайте убедимся, что каждый вызов build
создает новый независимый экземпляр клиента:
import java.net.http.HttpClient;
public class Main
{
public static void main(String[] args)
{
HttpClient.Builder builder = HttpClient.newBuilder();
HttpClient client1 = builder.build();
HttpClient client2 = builder.build();
System.out.println(client1 == client2);
}
}
Результат выполнения кода:
false
Смотрите также
-
класс
HttpClient.Builder,
который настраивает параметры клиента -
метод
newBuilder,
который создает новый билдер клиента -
метод
newHttpClient,
который создает клиент с настройками по умолчанию -
метод
connectTimeout,
который задает таймаут соединения