java - 是否有一种规范的方法来确定 HTTP 响应是否在 Java 的 200 系列中?

标签 java android http httpclient http-status-codes

我目前有代码检查 HTTP 响应是否有“成功”状态代码。

// Accept any 200 series status code (200, 201, 202, 203, ...) 
// as being 'successful'.
if (response.status / 100 == 2) {
    // process response
} else {
    throw new Exception("Something went wrong...");
}

这是执行此操作的规范方法吗?还是有其他一些我不知道的不那么丑陋的方法来做到这一点?

最佳答案

我怀疑是否有更好的规范方法。如果你有 Jersey ,你可以写

Response.Status.Family.SUCCESSFUL == Response.Status.fromStatusCode(response.status).getFamily()

顺便说一下,并不是所有可能的状态代码都包含在 Status 枚举中。但即使 Jersey 在内部也使用 Adam 发布的算法来确定 Family

关于java - 是否有一种规范的方法来确定 HTTP 响应是否在 Java 的 200 系列中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19128917/

相关文章:

android - 带有 Google 游戏服务的多人游戏变体

java - 如何在android中的List<Object>项中添加数据

java - JFreechart 刻度单位

java - 如何在javaFX中为xylinechart设置带时间戳的x轴范围?

android - 在 ListView 中显示来自游标的列

java - 是否可以发送输出流作为对 HTTP 请求的响应?

scala - Play Framework : how to display a Future[List[String]]?

javascript - 无法读取 Set-Cookie 响应 header

java - 如何在提供文件之前使用嵌入式 Jetty 转换文件?

java - 使用递归在 2 个索引之间的子字符串