Java 11 представила новый стандарт HTTP-клиент .Запрос отправляется с использованием HttpClient:send
, который возвращает HttpResponse
.
. Для поиска можно использовать метод HttpResponse::statusCode
.HTTP-статус ответа.
HttpClient::send
также принимает BodyHandler
, который используется для обработки тела ответа.Полезное семейство BodyHandler
с - это семейство, Flow.Subscription
, созданное с BodyHandlers::fromSubscriber
и родственниками.Это полезный способ работы с бесконечными потоками данных, такими как отправленные сервером события .
Однако, кажется, что если вы используете один из этих BodyHandler
s, потокдоставляется в поток, который вызвал HttpClient::send
, и поэтому для бесконечного потока этот метод никогда не возвращается.Поскольку он никогда не возвращается, вы никогда не получите HttpResponse
, с помощью которого вы сможете определить статус.
Итак, как мне получить код состояния для ответа, на который я подписан?