50.3. Cryostat-RS 2.0 예외 유형
50.3.1. 개요
Cryostat-RS 2.0에는 애플리케이션 코드(기존 WebApplicationException
예외 유형 외에)를 throw(및 catch)할 수 있는 여러 가지 특정 HTTP 예외 유형이 도입되었습니다. 이러한 예외 유형은 HTTP 클라이언트 오류(HTTP 4xx
상태 코드) 또는 HTTP 서버 오류(HTTP 5xx
상태 코드)에 대해 표준 HTTP 상태 코드를 래핑하는 데 사용할 수 있습니다.
50.3.2. 예외 계층 구조
그림 50.1. “Cryostat-RS 2.0 애플리케이션 예외 계층 구조” Mellanox-RS 2.0에서 지원되는 애플리케이션 수준 예외의 계층 구조를 보여줍니다.
그림 50.1. Cryostat-RS 2.0 애플리케이션 예외 계층 구조
50.3.3. WebApplicationException 클래스
javax.ws.rs.WebApplicationException
예외 클래스( Cryostat-RS 1.x 이후 사용 가능)는 Cryostat-RS 2.0 예외 계층 구조의 기반에 있으며 50.2절. “WebApplicationException을 사용하여 보고” 에 자세히 설명되어 있습니다.
50.3.4. ClientErrorException 클래스
javax.ws.rs.ClientErrorException
예외 클래스는 HTTP 클라이언트 오류(HTTP 4xx
상태 코드)를 캡슐화하는 데 사용됩니다. 애플리케이션 코드에서 이 예외 또는 해당 하위 클래스 중 하나를 throw할 수 있습니다.
50.3.5. ServerErrorException 클래스
javax.ws.rs.ServerErrorException
예외 클래스는 HTTP 서버 오류(HTTP 5xx
상태 코드)를 캡슐화하는 데 사용됩니다. 애플리케이션 코드에서 이 예외 또는 해당 하위 클래스 중 하나를 throw할 수 있습니다.
50.3.6. RedirectionException 클래스
javax.ws.rs.RedirectionException
예외 클래스는 HTTP 요청 리디렉션(HTTP 3xx
상태 코드)을 캡슐화하는 데 사용됩니다. 이 클래스의 생성자는 리디렉션 위치를 지정하는 URI 인수를 사용합니다. 리디렉션 URI는 getLocation()
메서드를 통해 액세스할 수 있습니다. 일반적으로 HTTP 리디렉션은 클라이언트 측에서 투명합니다.
50.3.7. 클라이언트 예외 하위 클래스
Cryostat-RS 2.0 애플리케이션에서 다음 HTTP 클라이언트 예외(HTTP 4xx
상태 코드)를 발생시킬 수 있습니다.
BadRequestException
- 400 Bad Request HTTP 오류 상태를 캡슐화합니다.
ForbiddenException
- 403 Forbidden HTTP 오류 상태를 캡슐화합니다.
NotAcceptableException
- 406 Not Acceptable HTTP 오류 상태를 캡슐화합니다.
NotAllowedException
- 405 Method Not Allowed HTTP 오류 상태를 캡슐화합니다.
NotAuthorizedException
401 Unauthorized HTTP 오류 상태를 캡슐화합니다. 이 예외는 다음 경우 중 하나로 발생할 수 있습니다.
-
클라이언트에서 필요한 인증 정보(HTTP
인증
헤더에서)를 전송하지 않았거나 - 클라이언트에서 자격 증명을 제공했지만 자격 증명이 유효하지 않았습니다.
-
클라이언트에서 필요한 인증 정보(HTTP
NotFoundException
- 404 Not Found HTTP 오류 상태를 캡슐화합니다.
NotSupportedException
- 415 Unsupported Media Type HTTP 오류 상태를 캡슐화합니다.
50.3.8. 서버 예외 하위 클래스
Cryostat-RS 2.0 애플리케이션에서 다음 HTTP 서버 예외(HTTP 5xx
상태 코드)를 발생시킬 수 있습니다.
InternalServerErrorException
- 500 Internal Server Error HTTP 오류 상태를 캡슐화합니다.
ServiceUnavailableException
- 503 Service Unavailable HTTP 오류 상태를 캡슐화합니다.