我想知道在某些标准Java类库中是否存在枚举类型,为所有有效的HTTP响应代码定义符号常量。它应该支持与对应的整数值之间的转换。
我正在调试一些使用javax.ws.rs.core.Response.Status的Java代码。它可以工作,但它只定义了大约一半的有效HTTP响应代码。
我想知道在某些标准Java类库中是否存在枚举类型,为所有有效的HTTP响应代码定义符号常量。它应该支持与对应的整数值之间的转换。
我正在调试一些使用javax.ws.rs.core.Response.Status的Java代码。它可以工作,但它只定义了大约一半的有效HTTP响应代码。
当前回答
在HttpURLConnection类中有精确整数值的静态常量
其他回答
使用javax.servlet.http.HttpServletResponse类
例子:
javax.servlet.http.HttpServletResponse.SC_UNAUTHORIZED //401
javax.servlet.http.HttpServletResponse.SC_INTERNAL_SERVER_ERROR //500
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框架中的枚举,它提供了所有HTTP响应状态代码
HttpStatus价值观()。
另一种选择是使用Apache common -httpclient中的HttpStatus类,它会将各种Http状态作为常量提供给你。
http状态码常量的最佳提供者可能是Jetty的org.eclipse.jetty.http.HttpStatus类,因为:
在maven中有一个javadoc包,如果你搜索常数,只知道数字>,这很重要,只需打开API文档页面并搜索数字 常量包含状态码数字本身。
我唯一需要改进的是:将状态代码放在文本描述的前面,以便在开始编写代码时更方便地进行自动完成查找。