Метод header
Метод header класса HttpRequest добавляет
HTTP-заголовок к запросу. В первый параметр мы передаем
имя заголовка в виде строки, во второй - его значение.
Метод возвращает новый объект HttpRequest,
поскольку объекты HttpRequest являются неизменяемыми.
Если заголовок с таким именем уже существует, его значение
будет заменено новым.
Синтаксис
request.header(name, value)
Пример
Давайте создадим HTTP-запрос и добавим к нему
заголовок Content-Type со значением
application/json:
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("Content-Type", "application/json")
.build();
System.out.println(request.headers().map());
}
}
Результат выполнения кода:
{Content-Type=[application/json]}
Пример
Давайте добавим несколько заголовков к одному запросу:
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("Content-Type", "application/json")
.header("Accept", "application/json")
.header("Authorization", "Bearer token123")
.build();
System.out.println(request.headers().map());
}
}
Результат выполнения кода:
{Content-Type=[application/json], Accept=[application/json], Authorization=[Bearer token123]}
Пример
Давайте перезапишем значение уже существующего заголовка:
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", "text/html")
.header("Accept", "application/json")
.build();
System.out.println(request.headers().map());
}
}
Результат выполнения кода:
{Accept=[application/json]}
Смотрите также
-
класс
HttpRequest,
который представляет HTTP-запрос -
метод
newBuilder,
который создает строитель запроса -
метод
header,
который добавляет заголовок через Builder -
класс
HttpHeaders,
который представляет заголовки HTTP