Класс HttpHeaders
public final class HttpHeaders extends Object
Экземпляр класса HttpHeaders обычно не создаётся напрямую, а возвращается методом HttpRequest класса HttpRequest или методом HttpResponse класса HttpResponse. Конкретные HTTP-заголовки можно установить для запроса, используя методы билдера запроса headers.
Методы этого класса (принимающие имя заголовка в качестве строки) и Map, возвращаемый методом map, не учитывают регистр при получении значения(й) заголовка.
Имя HTTP-заголовка может встречаться более одного раза в HTTP-протоколе. Поэтому заголовки представляются как имя и список значений. Каждое вхождение значения заголовка добавляется в соответствующий список имён заголовков дословно, без интерпретации его значения. В частности, HttpHeaders не выполняет разделение или объединение строк значений заголовков, разделённых запятыми. Порядок элементов в списке значений заголовка сохраняется при использовании метода building для создания запроса. Для ответов порядок элементов в списке значений заголовка — порядок их получения. Однако, Map возвращаемый методом map, не гарантирует порядок своих записей.
Экземпляры класса HttpHeaders неизменяемы.
- Since:
- 11
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
List |
allValues |
Возвращает неизменяемый список всех строковых значений заголовка с данным именем. |
final boolean |
equals |
Проверяет равенство этого экземпляра HTTP-заголовков заданному объекту. |
Optional |
firstValue |
Возвращает Optional, содержащий первое строковое значение заголовка с заданным именем (возможно, многозначного). |
OptionalLong |
firstValueAsLong |
Возвращает OptionalLong, содержащий первое строковое значение заголовка с заданным именем. Если заголовок отсутствует, то возвращается пустой Optional. Если заголовок присутствует, но значение не может быть преобразовано в Long, то выбрасывается исключение. |
final int |
hashCode() |
Вычисляет хэш-код для этого экземпляра HTTP-заголовков. |
Map |
map() |
Возвращает неизменяемое многозначное отображение (Map) этого HttpHeaders. |
static HttpHeaders |
of |
Возвращает HTTP-заголовки из заданной карты. |
String |
toString() |
Возвращает этот HTTP-заголовок в виде строки. |
Подробное описание методов
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()
- Возвращает:
- карту
equals
public final boolean equals(Object obj)
Если заданный объект не является экземпляром HttpHeaders, то возвращается false. Два HTTP-заголовка равны, если равны все соответствующие отображения (maps).
Этот метод удовлетворяет общему контракту метода Object.equals.
hashCode
public final int hashCode()
Хэш-код основан на компонентах HTTP-заголовков map и удовлетворяет общему контракту метода Object.hashCode.
toString
of
public static HttpHeaders of(Map<String, List<String>> headerMap, BiPredicate<String,String> filter)
Имя HTTP-заголовка может встречаться более одного раза в HTTP-протоколе. Такие многозначные заголовки должны быть представлены одной записью в заданной карте, значение которой является списком, представляющим множество строковых значений заголовка. Пробелы в начале и конце всех строковых значений, извлечённых из заданной карты и её списков, удаляются перед обработкой. Только заголовки, содержащие, после фильтрации, по крайней мере одно, возможно пустое, строковое значение, будут добавлены в HTTP-заголовки.
- API Note:
- Этот метод в первую очередь предназначен для фреймворков тестирования. Заголовки для каждого запроса можно установить, используя один из методов билдера запроса
HttpRequestheaders. - Параметры:
-
headerMap- карта, содержащая имена и значения заголовков -
filter- фильтр, который можно использовать для проверки каждой пары имя-значение заголовка в заданной карте, чтобы определить, следует ли добавлять её в HTTP-заголовки - Возвращает:
- экземпляр HTTP-заголовков, содержащий заданные заголовки
- Исключение:
-
NullPointerException- если любой из:headerMap, ключ или значение в заданной карте, или запись в списке значений карты, илиfilter, являетсяnull -
IllegalArgumentException- если заданнаяheaderMapсодержит любые два ключа, равных (без учёта регистра); или если заданная карта содержит любой ключ, длина которого после обрезки пробелов, является0
© 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.
https://download.java.net/java/early_access/jdk24/docs/api/java.net.http/java/net/http/HttpHeaders.html