Класс HttpHeaders
public final class HttpHeaders extends Object
Объект HttpHeaders обычно не создаётся напрямую, а возвращается из HttpRequest или HttpResponse. Конкретные HTTP-заголовки можно задать для запроса с помощью одного из методов headers построителя запросов.
Методы этого класса (принимающие строковое имя заголовка) и Map, возвращаемая методом map, не учитывают регистр при получении значения (значений) заголовка.
Имя HTTP-заголовка может встречаться в протоколе HTTP более одного раза. Поэтому заголовки представлены именем и списком значений. Каждое вхождение значения заголовка добавляется без изменений в список соответствующего имени заголовка, без интерпретации этого значения. В частности, HttpHeaders не выполняет разделение или объединение строк значений заголовков, разделённых запятыми. Порядок элементов в списке значений заголовка сохраняется при добавлении запроса с помощью метода building. Для ответов порядок элементов в списке значений заголовка соответствует порядку их получения. Однако Map, возвращаемая методом map, не гарантирует определённый порядок записей.
Экземпляры HttpHeaders неизменяемы.
- Начиная с:
- 11
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
List |
allValues |
Возвращает неизменяемый список всех строковых значений указанного заголовка. |
final boolean |
equals |
Проверяет, равен ли этот экземпляр HTTP-заголовков указанному объекту. |
Optional |
firstValue |
Возвращает Optional, содержащий первое строковое значение указанного заголовка (который может иметь несколько значений). |
OptionalLong |
firstValueAsLong |
Возвращает OptionalLong, содержащий первое строковое значение указанного поля заголовка. |
final int |
hashCode() |
Вычисляет хеш-код этого экземпляра HTTP-заголовков. |
Map |
map() |
Возвращает неизменяемое многозначное представление Map для этого HttpHeaders. |
static HttpHeaders |
of |
Возвращает 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 |
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt, либо до истечения заданного промежутка реального времени. |
final void |
wait |
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова 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()
- Возвращает:
- карту
equals
public final boolean equals(Object obj)
Если указанный объект не является HttpHeaders, этот метод возвращает false. Два набора HTTP-заголовков равны, если равны соответствующие им карты.
Этот метод соответствует общему контракту метода 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 более одного раза. Такие заголовки с несколькими значениями должны быть представлены одной записью в указанной карте, значение которой представляет собой список строковых значений заголовка. Перед обработкой из всех строковых значений, полученных из указанной карты и её списков, удаляются начальные и конечные пробелы. В HTTP-заголовки добавляются только те заголовки, которые после фильтрации содержат хотя бы одно значение, в том числе пустую строку.
- Примечание к API:
- Основное назначение этого метода — использование в инфраструктурах тестирования. Заголовки для отдельных запросов можно задавать с помощью одного из методов
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.