使用本机Java检查4xx Http代码

使用本机Java检查4xx Http代码,java,http,Java,Http,我有一些检查http响应的java代码。现在,我想根据客户机错误(4xx)家族检查代码,我该怎么做 int responseCode = ab.sendGetRequest(href); 最简单的解决办法是: if (400 <= responseCode && responseCode < 500 ){ //... } 重要的一点是,我不想使用自定义解决方案(编写我自己的客户机\u错误或检查范围…)。java中是否已经有相应的类用于此目的了?我现在实际上正

我有一些检查http响应的java代码。现在,我想根据客户机错误(4xx)家族检查代码,我该怎么做

int responseCode = ab.sendGetRequest(href);
最简单的解决办法是:

if (400 <= responseCode && responseCode < 500 ){
   //...
}

重要的一点是,我不想使用自定义解决方案(编写我自己的
客户机\u错误
或检查范围…)。java中是否已经有相应的类用于此目的了?

我现在实际上正在使用
javax.ws.rs.core.Response.Status.Family
。谢谢@Kon提供的有用提示

import javax.ws.rs.core.Response.Status.Family;

if (Family.familyOf(responseCode) == Family.CLIENT_ERROR) {

如果使用Spring,您只需执行以下操作:

    HttpStatus.valueOf(statusCode).is4xxClientError()

如果您需要任何额外的内容,您也可以查看实现

创建一个包含所有错误代码的
,并…很好地编写
客户端错误。包含(代码)?这是一个技巧性问题吗?将
400..499
范围内的所有整数添加到
CLIENT\u ERROR
Set
..?使用Guava的
range.closedOpen(400500)
?我想可能有一些预定义的java类可以帮我完成这个技巧。。。?我不想自己维护一个集合。这可能会有帮助:javax.ws.rs.core.Response.Status.Family
Response.Status.Family.CLIENT\u ERROR==Response.getStatusInfo().getFamily()
import javax.ws.rs.core.Response.Status.Family;

if (Family.familyOf(responseCode) == Family.CLIENT_ERROR) {
    HttpStatus.valueOf(statusCode).is4xxClientError()