Spec-Zone.ru › OpenJDK 27

Класс HttpHeaders

java.lang.Object
java.net.http.HttpHeaders
public final class HttpHeaders extends Object
Представление набора HTTP-заголовков, доступное только для чтения.

Объект HttpHeaders обычно не создаётся напрямую, а возвращается из HttpRequest или HttpResponse. Конкретные HTTP-заголовки можно задать для запроса с помощью одного из методов headers построителя запросов.

Методы этого класса (принимающие строковое имя заголовка) и Map, возвращаемая методом map, не учитывают регистр при получении значения (значений) заголовка.

Имя HTTP-заголовка может встречаться в протоколе HTTP более одного раза. Поэтому заголовки представлены именем и списком значений. Каждое вхождение значения заголовка добавляется без изменений в список соответствующего имени заголовка, без интерпретации этого значения. В частности, HttpHeaders не выполняет разделение или объединение строк значений заголовков, разделённых запятыми. Порядок элементов в списке значений заголовка сохраняется при добавлении запроса с помощью метода building. Для ответов порядок элементов в списке значений заголовка соответствует порядку их получения. Однако Map, возвращаемая методом map, не гарантирует определённый порядок записей.

Экземпляры HttpHeaders неизменяемы.

Начиная с:
11

Краткое описание методов

Модификатор и тип Метод Описание
List<String> allValues(String name)
Возвращает неизменяемый список всех строковых значений указанного заголовка.
final boolean equals(Object obj)
Проверяет, равен ли этот экземпляр HTTP-заголовков указанному объекту.
Optional<String> firstValue(String name)
Возвращает Optional, содержащий первое строковое значение указанного заголовка (который может иметь несколько значений).
OptionalLong firstValueAsLong(String name)
Возвращает OptionalLong, содержащий первое строковое значение указанного поля заголовка.
final int hashCode()
Вычисляет хеш-код этого экземпляра HTTP-заголовков.
Map<String, List<String>> map()
Возвращает неизменяемое многозначное представление Map для этого HttpHeaders.
static HttpHeaders of(Map<String, List<String>> headerMap, BiPredicate<String,String> filter)
Возвращает HTTP-заголовки, созданные на основе указанной карты.
String toString()
Возвращает эти HTTP-заголовки в виде строки.

Методы, объявленные в классе Object

clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Модификатор и тип Метод Описание
protected Object clone()
Создаёт и возвращает копию этого объекта.
protected void finalize()
Устарело, будет удалено: этот элемент API подлежит удалению в будущей версии.
Финализация объявлена устаревшей и подлежит удалению в одном из будущих выпусков.
final Class<?> getClass()
Возвращает класс времени выполнения этого Object.
final void notify()
Пробуждает один поток, ожидающий на мониторе этого объекта.
final void notifyAll()
Пробуждает все потоки, ожидающие на мониторе этого объекта.
final void wait()
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt.
final void wait(long timeoutMillis)
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt, либо до истечения заданного промежутка реального времени.
final void wait(long timeoutMillis, int nanos)
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt, либо до истечения заданного промежутка реального времени.

Подробное описание методов

firstValue

public Optional<String> firstValue(String name)
Возвращает Optional, содержащий первое строковое значение указанного заголовка (который может иметь несколько значений). Если заголовок отсутствует, возвращаемый Optional пуст.
Параметры:
name - имя заголовка
Возвращает:
объект Optional<String>, содержащий первое строковое значение указанного заголовка, если оно есть

firstValueAsLong

public OptionalLong firstValueAsLong(String name)
Возвращает OptionalLong, содержащий первое строковое значение указанного поля заголовка. Если заголовок отсутствует, Optional пуст. Если заголовок присутствует, но содержит значение, которое не удаётся преобразовать в значение типа Long, выбрасывается исключение.
Параметры:
name - имя заголовка
Возвращает:
объект OptionalLong
Выбрасывает:
NumberFormatException - если значение найдено, но его не удаётся преобразовать в Long

allValues

public List<String> allValues(String name)
Возвращает неизменяемый список всех строковых значений указанного заголовка. Всегда возвращает список, который может быть пустым, если заголовок отсутствует.
Параметры:
name - имя заголовка
Возвращает:
список строковых значений заголовков

map

public Map<String, List<String>> map()
Возвращает неизменяемое многозначное представление Map для этого HttpHeaders.
Возвращает:
карту

equals

public final boolean equals(Object obj)
Проверяет, равен ли этот экземпляр HTTP-заголовков указанному объекту.

Если указанный объект не является HttpHeaders, этот метод возвращает false. Два набора HTTP-заголовков равны, если равны соответствующие им карты.

Этот метод соответствует общему контракту метода Object.equals.

Переопределяет:
equals в классе Object
Параметры:
obj - объект, с которым сравнивается этот объект
Возвращает:
true тогда и только тогда, когда указанный объект является HttpHeaders, равным этому набору HTTP-заголовков
См. также:
  • Object.hashCode()
  • HashMap

hashCode

public final int hashCode()
Вычисляет хеш-код этого экземпляра HTTP-заголовков.

Хеш-код основан на компонентах map HTTP-заголовков и соответствует общему контракту метода Object.hashCode.

Переопределяет:
hashCode в классе Object
Возвращает:
значение хеш-кода для этих HTTP-заголовков
См. также:
  • Object.equals(java.lang.Object)
  • System.identityHashCode(Object)

toString

public String toString()
Возвращает эти HTTP-заголовки в виде строки.
Переопределяет:
toString в классе Object
Возвращает:
строку с описанием HTTP-заголовков

of

public static HttpHeaders of(Map<String, List<String>> headerMap, BiPredicate<String,String> filter)
Возвращает HTTP-заголовки на основе указанной карты. Ключ карты задаёт имя заголовка, а значение — список строковых значений этого заголовка.

Имя HTTP-заголовка может встречаться в протоколе HTTP более одного раза. Такие заголовки с несколькими значениями должны быть представлены одной записью в указанной карте, значение которой представляет собой список строковых значений заголовка. Перед обработкой из всех строковых значений, полученных из указанной карты и её списков, удаляются начальные и конечные пробелы. В HTTP-заголовки добавляются только те заголовки, которые после фильтрации содержат хотя бы одно значение, в том числе пустую строку.

Примечание к API:
Основное назначение этого метода — использование в инфраструктурах тестирования. Заголовки для отдельных запросов можно задавать с помощью одного из методов HttpRequest headers.
Параметры:
headerMap - карта, содержащая имена и значения заголовков
filter - фильтр, который можно использовать для проверки каждой пары «имя-значение заголовка» в указанной карте и определения, следует ли добавлять её в HTTP-заголовки
Возвращает:
экземпляр HTTP-заголовков, содержащий указанные заголовки
Выбрасывает:
NullPointerException - если любое из следующего: headerMap, ключ или значение в указанной карте, запись в списке значений карты либо filter имеет значение null
IllegalArgumentException - если указанная headerMap содержит два одинаковых ключа (без учёта регистра); или если карта содержит ключ, длина которого после удаления пробелов равна 0

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по API и документацию для разработчиков см. в документации Java SE, содержащей более подробные описания для разработчиков, обзоры концепций, определения терминов, обходные решения и примеры кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или её дочерних компаний в США и других странах.
Авторское право © 1993, 2026, Oracle и/или её дочерние компании, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 1993, 2025, 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.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API