Does Java have a complete enum for HTTP response codes? – Dev

The best answers to the question “Does Java have a complete enum for HTTP response codes?” in the category Dev.

QUESTION:

I’m wondering if there is an enum type in some standard Java class library that defines symbolic constants for all of the valid HTTP response codes. It should support conversion to/from the corresponding integer values.

I’m debugging some Java code that uses javax.ws.rs.core.Response.Status. It works, but it only defines about half of the valid HTTP response codes.

ANSWER:

The Interface javax.servlet.http.HttpServletResponse from the servlet API has all the response codes in the form of int constants names SC_<description>. See http://docs.oracle.com/javaee/6/api/javax/servlet/http/HttpServletResponse.html

ANSWER:

I don’t think there’s one that’s complete in the standard Java classes; HttpURLConnection is missing quite a few codes, like HTTP 100/Continue.

There’s a complete list in the Apache HttpComponents, though:
org.apache.http.HttpStatus (replaced org.apache.commons.HttpClient.HttpStatus from Apache Http Client, which reached end of life)

ANSWER:

If you’re using Spring, the 3.x release has what your looking for:
http://static.springsource.org/spring/docs/3.0.x/api/org/springframework/http/HttpStatus.html

ANSWER:

Well, there are static constants of the exact integer values in the HttpURLConnection class