web-dev-qa-db-fra.com

HttpStatus est devenu obsolète au niveau de l'API 22

Habituellement, je vérifiais pour le serveur différentes réponses de code dans ma classe RestClient en utilisant la classe org.Apache.http.HttpStatus Comme exemple suivant:

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;
}

Mais récemment, la classe est devenue obsolète depuis le niveau 22 de l'API selon l'officiel documentation

Cette interface est obsolète au niveau de l'API 22. Veuillez utiliser openConnection () à la place. Veuillez visiter cette page Web pour plus de détails.

Mais utiliser la méthode OpenConnection() pour moi n'a aucun sens.

Ma question est: Existe-t-il un autre moyen de faire la même fonctionnalité sans avoir à coder en dur toutes les réponses de code par moi-même dans l'application?

Merci d'avance.

39
Sami Eltamawy

vous pouvez convertir la valeur renvoyée de openConnection en HttpURLConnection et utiliser getResponseCode() pour récupérer le code de réponse

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

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

}

HttpURLConnection.getResponseCode() la documentation est ici

84
Blackbelt