0

当我需要检查响应代码是否是成功代码之一(2xx)时,我通常会创建一个整数数组并查看它。例如,

public static final int[] SUCCESS_STATUS_CODES = new int[]{
        200, 201, 202, 203, 204, 205, 206, 207, 208, 226
};

我对其他响应代码也这样做。

我想知道是否有一个内置对象已经包含所有这些代码并定期更新它们我可以使用?

例如,

//pseudo code
if(responseCode is from success 2xx category)
   do something
else if (responseCode is from error 4xx category
   do something
4

2 回答 2

2

org.springframework.http.HttpStatus有一个方法HttpStatus.is2xxSuccessful()返回一个布尔值。它是 Spring 的一部分,并非内置于 Java 中,但希望对某些人仍然有用。

于 2017-08-16T01:59:53.983 回答
1

据我所知,标准库中没有这样的类。我知道的最接近的是java.net.HttpURLConnection,它为各种代码提供静态常量。

但你似乎要做的工作比你需要做的要多。HTTP 响应代码类别内置于它们的值中。您应该能够按照以下方式做一些事情:

switch (responseCode / 100) {
    case 1:
        /* informational response */
        break;
    case 2:
        /* success response */
        break;
    case 3:
        /* redirection response */
        break;
    case 4:
        /* client error response */
        break;
    case 5:
        /* server error response */
        break;
    default:
        /* bad response code */
        break;
}
于 2014-10-08T16:14:38.340 回答