52장. 컨텍스트 정보 가져오기 및 사용

초록

컨텍스트 정보에는 리소스의 URI, HTTP 헤더 및 기타 주입 주석을 사용하여 쉽게 사용할 수 없는 기타 세부 정보에 대한 세부 정보가 포함됩니다. Apache CXF는 가능한 모든 컨텍스트 정보를 단일 개체에 맞게 조정하는 특수 클래스를 제공합니다.

52.1. 컨텍스트 소개

52.1.1. 컨텍스트 주석

javax.ws.rs.core.Context 주석을 사용하여 컨텍스트 정보를 필드 또는 리소스 메서드 매개 변수에 삽입하도록 지정합니다. 컨텍스트 유형 중 하나의 필드 또는 매개 변수에 주석을 추가하면 런타임에서 주석이 달린 필드 또는 매개 변수에 적절한 컨텍스트 정보를 삽입하도록 지시합니다.

52.1.2. 컨텍스트 유형

표 52.1. “컨텍스트 유형” 삽입할 수 있는 컨텍스트 정보 유형과 해당 정보를 지원하는 오브젝트 유형을 나열합니다.

표 52.1. 컨텍스트 유형

개체컨텍스트 정보

UriInfo

전체 요청 URI

HttpHeaders

HTTP 메시지 헤더

요청

최상의 표현 변형을 결정하거나 사전 조건 집합이 설정되었는지 여부를 결정하는 데 사용할 수 있는 정보

SecurityContext

사용 중인 인증 체계, 요청 채널이 안전한 경우, 요청 채널 및 사용자 원칙을 포함한 요청자의 보안에 대한 정보

52.1.3. 컨텍스트 정보를 사용할 수 있는 위치

컨텍스트 정보는 JAX-RS 애플리케이션의 다음 부분에서 사용할 수 있습니다.

  • 리소스 클래스
  • 리소스 메서드
  • 엔터티 공급자
  • 예외 매퍼

52.1.4. 범위

@Context 주석을 사용하여 삽입된 모든 컨텍스트 정보는 현재 요청과 관련이 있습니다. 이는 엔터티 공급자 및 예외 매퍼를 포함한 모든 경우에 해당합니다.

52.1.5. 컨텍스트 추가

JAX-RS 프레임워크를 사용하면 개발자가 컨텍스트 메커니즘을 사용하여 삽입할 수 있는 정보 유형을 확장할 수 있습니다. Context<T> 개체를 구현하고 런타임에 등록하여 사용자 지정 컨텍스트를 추가합니다.