Класс HttpHeaders
public final class HttpHeaders extends Object
Экземпляр HttpHeaders обычно не создается напрямую, а возвращается методом HttpRequest или 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() |
Возвращает неизменяемую карту множественных значений для этого объекта 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-заголовка равны, если их соответствующие карты HttpHeaders равны.
Этот метод соответствует общему соглашению метода Object.equals.
- Overrides:
-
equalsв классеObject - Параметры:
-
obj- объект, с которым сравнивается данный объект - Возвращает:
-
trueесли, и только если, данный объект является экземпляромHttpHeaders, равным этому HTTP-заголовку - См. также:
hashCode
public final int hashCode()
Хэш-код основан на компонентах карты HTTP-заголовков map и удовлетворяет общему соглашению метода Object.hashCode.
- Overrides:
-
hashCodeв классеObject - Возвращает:
- значение хэш-кода для этого HTTP-заголовка
- См. также:
toString
public String toString()
- Overrides:
-
toStringв классеObject - Возвращает:
- строка, описывающая HTTP-заголовки
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, 2023, 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/21/docs/api/java.net.http/java/net/http/HttpHeaders.html