Интерфейс HttpResponse<T>
- Параметры типа:
T- тип тела ответа
public interface HttpResponse<T>
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 |
connectionLabel() |
Если имеется, возвращает метку, идентифицирующую соединение, по которому был получен ответ. |
HttpHeaders |
headers() |
Возвращает полученные заголовки ответа. |
Optional |
previousResponse() |
Возвращает Optional, содержащий предыдущий промежуточный ответ, если он был получен. |
HttpRequest |
request() |
Возвращает HttpRequest, соответствующий этому ответу. |
Optional |
sslSession() |
Возвращает Optional, содержащий SSLSession, используемый для этого ответа. |
int |
statusCode() |
Возвращает код состояния этого ответа. |
URI |
uri() |
Возвращает URI, от которого был получен ответ. |
HttpClient.Version |
version() |
Возвращает версию протокола HTTP, использованную для этого ответа. |
Подробное описание методов
statusCode
int statusCode()
- Возвращает:
- код ответа
connectionLabel
default Optional<String> connectionLabel()
Формат строки не определён, однако значение фиксировано и уникально для каждого соединения в пределах связанного экземпляра HttpClient.
- Требования к реализации:
- Реализация этого метода по умолчанию возвращает
Optional.empty(). - Примечание по реализации:
- Экземпляры
HttpResponse, возвращаемые встроенной реализацией JDKHttpClient, всегда возвращают непустое значение. - Возвращает:
- если имеется, метку, идентифицирующую соединение, по которому был получен ответ
- С версии:
- 25
request
HttpRequest request()
HttpRequest, соответствующий этому ответу. Возвращённый HttpRequest может отличаться от исходного запроса, переданного при отправке. Например, если исходный запрос был перенаправлен, запрос, возвращаемый этим методом, будет содержать URI после перенаправления, отличающийся от URI исходного запроса.
- Возвращает:
- запрос
- См. также:
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
© 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