Интерфейс 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 | Реализации |
static interface | HttpResponse.BodySubscriber<T> |
|
static class | HttpResponse.BodySubscribers | Реализации |
static interface | HttpResponse.PushPromiseHandler<T> | Обработчик запросов на подключение. |
static interface | HttpResponse.ResponseInfo | Первоначальная информация об ответе, предоставляемая |
Методы
| Модификатор и тип | Метод | Описание |
|---|---|---|
T | body() | Возвращает тело. |
HttpHeaders | headers() | Возвращает полученные заголовки ответа. |
Optional<HttpResponse<T>> | previousResponse() | Возвращает |
HttpRequest | request() | Возвращает |
Optional<SSLSession> | sslSession() | Возвращает |
int | statusCode() | Возвращает код состояния для этого ответа. |
URI | uri() | Возвращает |
HttpClient.Version | version() | Возвращает версию HTTP-протокола, которая использовалась для этого ответа. |
Методы
statusCode
int statusCode()
Возвращает код состояния для этого ответа.
- Возвращает:
- код ответа
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 действующий для данного ответа. Возвращает пустое Optional если это не ответ HTTPS.
- Возвращает:
- объект
OptionalсодержащийSSLSessionассоциированный с ответом
uri
URI uri()
Возвращает URI откуда был получен ответ. Это может отличаться от запроса URI если произошло перенаправление.
- Возвращает:
- URI ответа
version
HttpClient.Version version()
Возвращает версию HTTP-протокола, которая использовалась для этого ответа.
- Возвращает:
- версия HTTP-протокола
© 1993, 2020, 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/11/docs/api/java.net.http/java/net/http/HttpResponse.html