我想知道在某些标准Java类库中是否存在枚举类型,为所有有效的HTTP响应代码定义符号常量。它应该支持与对应的整数值之间的转换。

我正在调试一些使用javax.ws.rs.core.Response.Status的Java代码。它可以工作,但它只定义了大约一半的有效HTTP响应代码。


当前回答

1)如果你只有代码,你可以使用:

org.apache.http.impl.EnglishReasonPhraseCatalog.INSTANCE.getReason(httpCode,null)

httpCode是你从HTTP响应中得到的原因代码。

详情见https://hc.apache.org/httpcomponents-core-ga/httpcore/apidocs/org/apache/http/impl/EnglishReasonPhraseCatalog.html

2)如果你只有文本,你可以使用BasicHttpResponse来获取原因代码。

详情见这里:https://hc.apache.org/httpcomponents-core-ga/httpcore/apidocs/org/apache/http/message/BasicHttpResponse.html

其他回答

如果您正在使用Spring,则3。X版本有你想要的: http://static.springsource.org/spring/docs/3.0.x/api/org/springframework/http/HttpStatus.html

1)如果你只有代码,你可以使用:

org.apache.http.impl.EnglishReasonPhraseCatalog.INSTANCE.getReason(httpCode,null)

httpCode是你从HTTP响应中得到的原因代码。

详情见https://hc.apache.org/httpcomponents-core-ga/httpcore/apidocs/org/apache/http/impl/EnglishReasonPhraseCatalog.html

2)如果你只有文本,你可以使用BasicHttpResponse来获取原因代码。

详情见这里:https://hc.apache.org/httpcomponents-core-ga/httpcore/apidocs/org/apache/http/message/BasicHttpResponse.html

我认为在标准Java类中没有一个是完整的;HttpURLConnection缺少相当多的代码,如HTTP 100/Continue。

在Apache HttpComponents中有一个完整的列表: org.apache.http.HttpStatus(替换了Apache HttpClient中的org.apache.commons.HttpClient.HttpStatus,该状态已达到生命周期结束)

请看下面Spring框架中的枚举,它提供了所有HTTP响应状态代码

HttpStatus价值观()。

在HttpURLConnection类中有精确整数值的静态常量