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