Класс HttpRequest.Builder
Класс HttpRequest.Builder используется для конструирования объектов HttpRequest, которые представляют собой HTTP-запросы. Он позволяет гибко настраивать параметры запроса: в первом параметре методов обычно передается целевой URI, во втором - заголовки, метод запроса или тело запроса. Получить экземпляр Builder можно с помощью метода newBuilder, а завершить построение - вызовом метода build.
Синтаксис
HttpRequest.newBuilder()
.uri(URI.create("https://example.com"))
.method("GET", HttpRequest.BodyPublishers.noBody())
.header("Header-Name", "Header-Value")
.build();
Пример
Давайте создадим простой GET-запрос с помощью HttpRequest.newBuilder, зададим URI и выведем информацию о запросе:
import java.net.URI;
import java.net.http.HttpRequest;
public class Main
{
public static void main(String[] args)
{
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://example.com"))
.GET()
.build();
System.out.println(request.uri());
System.out.println(request.method());
}
}
Результат выполнения кода:
https://example.com
GET
Пример
Давайте создадим POST-запрос с телом и пользовательским заголовком:
import java.net.URI;
import java.net.http.HttpRequest;
public class Main
{
public static void main(String[] args)
{
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://example.com"))
.header("Content-Type", "application/json")
.POST(HttpRequest.BodyPublishers.ofString("{\"key\":\"value\"}"))
.build();
System.out.println(request.method());
System.out.println(request.headers().map());
}
}
Результат выполнения кода:
POST
{Content-Type=[application/json]}
Смотрите также
-
класс
HttpRequest,
который представляет HTTP-запрос -
метод
newBuilder,
который создает экземпляр HttpRequest.Builder -
метод
uri,
который задает URI запроса -
метод
build,
который создает объект HttpRequest