我有一些检查http响应的Java代码。现在,我想对照客户端错误(4xx)系列检查代码,该怎么办?
int responseCode = ab.sendGetRequest(href);
最简单的解决方案是:
if (400 <= responseCode && responseCode < 500 ){
//...
}
或在编码约定方面更好一些,但可读性大受好评:
if (HttpStatus.SC_BAD_REQUEST <= responseCode &&
responseCode < HttpStatus.SC_INTERNAL_SERVER_ERROR)
我如何像下面这样以某种方式针对
responseCode
系列检查4xx
...CLIENT_ERROR.contains(code)
重要的一点是,我不想使用自定义解决方案(编写自己的
CLIENT_ERROR
或检查范围,...)。为此目的,java中是否没有相应的Class? 最佳答案
我实际上正在使用javax.ws.rs.core.Response.Status.Family
。感谢@Kon提供有用的提示!
import javax.ws.rs.core.Response.Status.Family;
if (Family.familyOf(responseCode) == Family.CLIENT_ERROR) {