Подтвердить что ты не робот

HttpStatus устаревает на уровне API 22

Обычно я использовал для проверки ответов на разные ответы сервера в классе RestClient, используя класс org.apache.http.HttpStatus в следующем примере:

if (HttpStatus.SC_OK == restClient.getResponseCode()) {
            //200 OK (HTTP/1.0 - RFC 1945)
            return true;
} else if (HttpStatus.SC_BAD_GATEWAY == restClient.getResponseCode()){
           //502 Bad Gateway (HTTP/1.0 - RFC 1945)
            return false;
}

Но в последнее время класс стал устаревшим с уровня API 22 в соответствии с официальной документацией

Этот интерфейс устарел на уровне API 22. Вместо этого используйте openConnection(). Пожалуйста, посетите веб-страницу для получения дополнительной информации.

Но использование метода OpenConnection() для меня не имеет никакого смысла.

Мой вопрос: Есть ли какой-либо другой способ сделать те же функции без необходимости жестко кодировать все ответы на код в приложении?

Спасибо заранее.

4b9b3361

Ответ 1

вы можете вернуть возвращаемое значение openConnection в HttpURLConnection и использовать getResponseCode() для извлечения кода ответа

HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();
final int responseCode = urlConnection.getResponseCode();
if (responseCode == HttpURLConnection.HTTP_OK) {

} else if (responseCode == HttpURLConnection.HTTP_BAD_GATEWAY) {

}

HttpURLConnection.getResponseCode() документация здесь