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