[java] Java에는 HTTP 응답 코드에 대한 완전한 열거 형이 있습니까?

유효한 모든 HTTP 응답 코드에 대한 기호 상수를 정의하는 일부 표준 Java 클래스 라이브러리에 열거 형이 있는지 궁금합니다. 해당 정수 값과의 변환을 지원해야합니다.

javax.ws.rs.core.Response.Status를 사용하는 일부 Java 코드를 디버깅하고 있습니다. 작동하지만 유효한 HTTP 응답 코드의 약 절반 만 정의합니다.



답변

표준 Java 클래스에는 완전한 것이 없다고 생각합니다. HttpURLConnection와 같은 코드가 거의 없습니다 HTTP 100/Continue.

아파치 HttpComponents의 전체 목록이있다, 비록 :
org.apache.http.HttpStatus(교체 org.apache.commons.HttpClient.HttpStatus도달 아파치 웹 클라이언트에서 삶의 끝 )


답변

javax.servlet.http.HttpServletResponse서블릿 API 의 인터페이스 에는 int상수 이름 형식의 모든 응답 코드가 있습니다 SC_<description>. http://docs.oracle.com/javaee/6/api/javax/servlet/http/HttpServletResponse.html을 참조 하십시오.


답변

HttpURLConnection 클래스 에는 정확한 정수 값의 정적 상수가 있습니다.


답변

Spring을 사용하는 경우 3.x 릴리스에는 원하는 것이 있습니다 :
http://static.springsource.org/spring/docs/3.0.x/api/org/springframework/http/HttpStatus.html


답변

Netty 를 사용하는 경우 다음을 사용할 수 있습니다.


답변

모두가 귀하의 질문의 “열 유형”부분을 무시하는 것 같습니다.

HTTP 상태 코드에 대한 정식 소스는 없지만 프로젝트에 추가 종속성을 추가하지 않고 필요한 누락 된 상태 상수 를 추가 하는 간단한 방법이 있습니다javax.ws.rs.core.Response.Status .

javax.ws.rs.core.Response.Statusjavax.ws.rs.core.Response.StatusType인터페이스 의 한 가지 구현입니다 . 원하는 상태 코드에 대한 정의가있는 자체 구현 열거 형을 작성하기 만하면됩니다.

Javax, Jersey 등과 같은 핵심 라이브러리 는 구현이 아닌 인터페이스에 작성됩니다 (또는 반드시 있어야 합니다). 새로운 Status 열거 형은 구현 하기 때문에 상수를 사용하는 어느 곳에서나 사용할 수 있습니다 .StatusType StatusStatusTypejavax.ws.rs.core.Response.Status

자신의 코드도 StatusType인터페이스에 작성해야합니다 . 이렇게하면 “표준”코드와 함께 고유 한 상태 코드를 모두 사용할 수 있습니다.

다음은 “Informational 1xx”상태 코드에 정의 된 상수를 사용한 간단한 구현의 요지입니다. https://gist.github.com/avendasora/a5ed9acf6b1ee709a14a


답변

javax.servlet.http.HttpServletResponse 클래스 사용

예:

javax.servlet.http.HttpServletResponse.SC_UNAUTHORIZED //401
javax.servlet.http.HttpServletResponse.SC_INTERNAL_SERVER_ERROR //500