Метод uri класса HttpRequest.Builder
Метод uri класса HttpRequest.Builder задает
адрес, по которому будет отправлен HTTP-запрос. В качестве
параметра метод принимает объект URI, содержащий
полный адрес запроса. Метод возвращает тот же самый
объект HttpRequest.Builder, что позволяет строить
цепочку вызовов. Без установленного URI невозможно
собрать корректный HTTP-запрос.
Синтаксис
builder.uri(URI uri)
Пример
Давайте создадим построитель запроса и установим
адрес https://example.com:
import java.net.URI;
import java.net.http.HttpRequest;
public class Main
{
public static void main(String[] args)
{
HttpRequest.Builder builder = HttpRequest.newBuilder();
builder.uri(URI.create("https://example.com"));
HttpRequest request = builder.build();
System.out.println(request.uri());
}
}
Результат выполнения кода:
"https://example.com"
Пример
Метод uri возвращает объект HttpRequest.Builder,
поэтому его удобно использовать в цепочке вызовов вместе
с методами GET, header и build.
Давайте соберем полноценный GET-запрос:
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/api"))
.header("Accept", "application/json")
.GET()
.build();
System.out.println(request.uri());
System.out.println(request.method());
}
}
Результат выполнения кода:
"https://example.com/api"
"GET"
Пример
Давайте установим URI с параметрами запроса
и отправим запрос через HttpClient:
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class Main
{
public static void main(String[] args) throws Exception
{
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://example.com/search?q=java"))
.GET()
.build();
HttpResponse<String> response = client.send(
request,
HttpResponse.BodyHandlers.ofString()
);
System.out.println(response.uri());
}
}
Результат выполнения кода:
"https://example.com/search?q=java"
Смотрите также
-
класс
HttpRequest.Builder,
который создает построитель HTTP-запроса -
метод
build,
который собирает объект HttpRequest -
метод
uri,
который возвращает URI из готового запроса -
метод
send,
который отправляет запрос и получает ответ