内部的にApache HTTPクライアントを使用するドロップウィザードのジャージクライアントを使用しています。サーバー側でエラーが発生した場合5xxサーバーエラーです。HTTP戻りコードがサーバー側の例外コードファミリにあることを確認する方法
以下のコードを使用して、サーバーが5XXコードを返すかどうかを確認しています。
if (response.getStatus()/100 == 5) {
// do some work
}
同様のコードがそこからコードの下にコピーされ、同様javax.ws.rs.core.Response
クラスにあります: -
public static Family familyOf(final int statusCode) {
switch (statusCode/100) {
case 1:
return Family.INFORMATIONAL;
case 2:
return Family.SUCCESSFUL;
case 3:
return Family.REDIRECTION;
case 4:
return Family.CLIENT_ERROR;
case 5:
return Family.SERVER_ERROR;
default:
return Family.OTHER;
}
}
}
今、私のコードは、のCheckstyleやPMDルールに失敗しています。 100と5はマジックナンバーだと言っています。
返信ステータスコードを比較したくない場合は、それぞれのサーバー側の例外コードが条件にあるかどうかを確認することができます。返信コードがサーバーエラーファミリにあるかどうかを確認できます。
数値と比較したcheckstyleルールによると、「magic number is being used」という警告が表示されます。 –
constanctを追加して使用します。 ここをクリックhttp://pmd.sourceforge.net/pmd-5.0.4/rules/java/controversial.html – gladiator