web-dev-qa-db-ja.com

HttpStatusはAPIレベル22で非推奨になります

通常、次の例のように_org.Apache.http.HttpStatus_クラスを使用して、RestClientクラスのさまざまなコード応答をサーバーでチェックしていました。

_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() を使用してください。詳細については、こちらをご覧ください webpage .

しかし、OpenConnection()メソッドを使用しても意味がありません。

私の質問は:アプリケーション内で自分ですべてのコード応答をハードコードすることなく同じ機能を実行する他の方法はありますか?

前もって感謝します。

39
Sami Eltamawy

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()ドキュメントは here

84
Blackbelt