Spec-Zone.ru › OpenJDK 25

Интерфейс HttpResponse<T>

Параметры типа:
T - тип тела ответа
public interface HttpResponse<T>
HTTP-ответ.

HttpResponse создаётся не напрямую, а возвращается в результате отправки HttpRequest. HttpResponse становится доступным после получения кода состояния и заголовков ответа и, как правило, после полного получения тела ответа. Доступность HttpResponse до полного получения тела ответа зависит от BodyHandler, указанного при отправке HttpRequest.

Этот класс предоставляет методы для доступа к коду состояния ответа, заголовкам, телу ответа и HttpRequest, соответствующему этому ответу.

Ниже приведён пример получения ответа в виде строки:

HttpResponse<String> response = client
  .send(request, BodyHandlers.ofString());

Класс BodyHandlers предоставляет реализации многих распространённых обработчиков ответов. В качестве альтернативы можно использовать пользовательскую реализацию BodyHandler.

С версии:
11

Краткое описание вложенных классов

Модификатор и тип Интерфейс Описание
static interface  HttpResponse.BodyHandler<T>
Обработчик тела ответа.
static class  HttpResponse.BodyHandlers
Реализации BodyHandler, предоставляющие различные полезные обработчики, например обработку тела ответа как строки или передачу тела ответа в файл.
static interface  HttpResponse.BodySubscriber<T>
BodySubscriber получает байты тела ответа и преобразует их в тип Java более высокого уровня.
static class  HttpResponse.BodySubscribers
Реализации BodySubscriber, предоставляющие различные полезные подписчики, например преобразование байтов тела ответа в строку или передачу байтов в файл.
static interface  HttpResponse.PushPromiseHandler<T>
Обработчик обещаний отправки.
static interface  HttpResponse.ResponseInfo
Начальная информация об ответе, предоставляемая BodyHandler при первоначальном получении ответа, до обработки тела.

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

Модификатор и тип Метод Описание
T body()
Возвращает тело.
default Optional<String> connectionLabel()
Если имеется, возвращает метку, идентифицирующую соединение, по которому был получен ответ.
HttpHeaders headers()
Возвращает полученные заголовки ответа.
Optional<HttpResponse<T>> previousResponse()
Возвращает Optional, содержащий предыдущий промежуточный ответ, если он был получен.
HttpRequest request()
Возвращает HttpRequest, соответствующий этому ответу.
Optional<SSLSession> sslSession()
Возвращает Optional, содержащий SSLSession, используемый для этого ответа.
int statusCode()
Возвращает код состояния этого ответа.
URI uri()
Возвращает URI, от которого был получен ответ.
HttpClient.Version version()
Возвращает версию протокола HTTP, использованную для этого ответа.

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

statusCode

int statusCode()
Возвращает код состояния этого ответа.
Возвращает:
код ответа

connectionLabel

default Optional<String> connectionLabel()
Если имеется, возвращает метку, идентифицирующую соединение, по которому был получен ответ.

Формат строки не определён, однако значение фиксировано и уникально для каждого соединения в пределах связанного экземпляра HttpClient.

Требования к реализации:
Реализация этого метода по умолчанию возвращает Optional.empty().
Примечание по реализации:
Экземпляры HttpResponse, возвращаемые встроенной реализацией JDK HttpClient, всегда возвращают непустое значение.
Возвращает:
если имеется, метку, идентифицирующую соединение, по которому был получен ответ
С версии:
25

request

HttpRequest request()
Возвращает HttpRequest, соответствующий этому ответу.

Возвращённый HttpRequest может отличаться от исходного запроса, переданного при отправке. Например, если исходный запрос был перенаправлен, запрос, возвращаемый этим методом, будет содержать URI после перенаправления, отличающийся от URI исходного запроса.

Возвращает:
запрос
См. также:
  • previousResponse()

previousResponse

Optional<HttpResponse<T>> previousResponse()
Возвращает Optional, содержащий предыдущий промежуточный ответ, если он был получен. Промежуточный ответ — это ответ, полученный в результате перенаправления или аутентификации. Если предыдущий ответ не был получен, возвращается пустой Optional.
Возвращает:
Optional, содержащий HttpResponse, если он имеется.

headers

HttpHeaders headers()
Возвращает полученные заголовки ответа.
Возвращает:
заголовки ответа

body

T body()
Возвращает тело. В зависимости от типа T возвращённое тело может представлять собой уже прочитанное тело (например, byte[], String или Path) либо объект, с помощью которого читается тело, например InputStream.

Если этот HttpResponse был возвращён в результате вызова previousResponse(), этот метод возвращает null

Возвращает:
тело

sslSession

Optional<SSLSession> sslSession()
Возвращает Optional, содержащий SSLSession, используемый для этого ответа. Если это не ответ HTTPS, возвращает пустой Optional.
Возвращает:
Optional, содержащий SSLSession, связанный с ответом

uri

URI uri()
Возвращает URI, от которого был получен ответ. Если произошло перенаправление, он может отличаться от URI запроса.
Возвращает:
URI ответа

version

HttpClient.Version version()
Возвращает версию протокола HTTP, использованную для этого ответа.
Возвращает:
версия протокола HTTP

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по API и документацию для разработчиков см. в документации Java SE, содержащей более подробные описания для разработчиков, концептуальные обзоры, определения терминов, обходные решения и примеры работающего кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или её аффилированных лиц в США и других странах.
Авторские права © 1993, 2025, 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.
https://docs.oracle.com/en/java/javase/25/docs/api/java.net.http/java/net/http/HttpResponse.html

Spec-Zone.ru

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